2012-04-17 2 views
0

Я не могу получить доступ к контейнеру UserAssignment, используя .net. Я могу добраться до контейнера приложения, но не дальше. Любые идеи очень приветствуются. Код я использую:Удаленный рабочий стол PowerShell Scripting

Private Function runScript2(userName As String, applicationName As String) As String 
    Dim rs As Runspace = RunspaceFactory.CreateRunspace 
    rs.Open() 

    Dim ps As PowerShell = PowerShell.Create 
    ps.Runspace = rs 
    Dim sb2 As New StringBuilder 
    sb2.AppendLine("Import-Module -Name C:\RemoteDesktopServices\RemoteDesktopServices.psd1") 
    sb2.AppendLine("Get-ChildItem -Path RDS:\") 'this works 
    sb2.AppendLine("Get-ChildItem -Path RDS:\RemoteApp\RemoteAppPrograms\WordPad\") 'this works 
    sb2.AppendLine("Get-ChildItem -Path RDS:\RemoteApp\RemoteAppPrograms\WordPad\UserAssignment") 'this does not work, no error 
    sb2.AppendLine("Get-ChildItem -Path C:\MyScripts") 
    ps.AddScript(sb2.ToString) 

    Dim output As Collection(Of PSObject) = ps.Invoke 
    Dim sb As New StringBuilder 
    For Each obj As PSObject In output 
     If TypeOf (obj.BaseObject) Is DirectoryInfo Then 
      Dim fle As DirectoryInfo = CType(obj.BaseObject, DirectoryInfo) 
      sb.AppendLine(fle.FullName) 
     ElseIf TypeOf (obj.BaseObject) Is FileInfo Then 
      Dim fle As FileInfo = CType(obj.BaseObject, FileInfo) 
      sb.AppendLine(fle.FullName) 
     Else 
      sb.AppendLine(obj.BaseObject.ToString) 
     End If 
    Next 
    Return sb.ToString 

End Function 
+0

Используете ли вы Windows Server 2008 R2? –

+0

Да, сервер работает 2008 R2 – DaddioNTS

ответ

0

Он не терпит неудачу, вы просто не имеет какой-либо UserAssignment не S еще, так что это не вернет вам ничего. Как только вы добавите некоторого пользователя, он вернет его. Вы можете проверить его, добавив пользователя вручную через консоль Computer Management

+0

Назначено три пользователя. Команды работают, если вручную ввести в PowerShell. – DaddioNTS

+0

@JimEggert Уверены ли вы, что нет других приложений WordPad? В противном случае он мог бы выбрать неправильный –

+0

Я попробовал еще пару других приложений. Я вижу содержимое контейнера , но не контейнер \ UserAssignment. Но команды работают нормально, если они введены непосредственно в PowerShell. Я не уверен, есть ли дополнительные разрешения для контейнера UserAssignment. – DaddioNTS