Создать сеанс удаленного питания в C #? - PullRequest
3 голосов
/ 10 июля 2010

Я очень новичок в PS, поэтому я думаю, что мне здесь чего-то не хватает. Я могу сделать удаленный сеанс PowerShell, как это ...

$Session = New-PSSession -ConfigurationName Microsoft.Exchange
                             -ConnectionUri https://remote.com/Powershell
                             -Credential "Domain\Admin"

Мне нужен эквивалент в C #, поэтому я пытаюсь это сделать, но он не работает ...

WSManConnectionInfo connInfo = new WSManConnectionInfo(
   new Uri("https://remote.com/Powershell"),    /* uri */
   "/wtf",                        /* shellUri??? */
   cred);                                       /* ps-credential */

using (Runspace runspace = RunspaceFactory.CreateRunspace(connInfo))
{
    runspace.Open();
    using (PowerShell ps = PowerShell.Create())
    {
        ps.Runspace = runspace;
    }
}

Это не с ...

System.Management.Automation.Remoting.PSRemotingTransportException was unhandled
  Message=Connecting to remote server failed with the following error message : The WS-Management service cannot process the request. The resource URI (/wsman) was not found in the WS-Management catalog....

Как я могу перевести это на C #? Что такое параметр «shellUri» и как передать имя конфигурации (в моем случае Microsoft.Exchange)?

Ответы [ 3 ]

1 голос
/ 19 января 2014

Я использую что-то вроде

int iRemotePort = 5985;
string strShellURI = @"http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
string strAppName = @"/wsman";
AuthenticationMechanism auth = AuthenticationMechanism.Negotiate;

WSManConnectionInfo ci = new WSManConnectionInfo(
    false,
    sRemote,
    iRemotePort,
    strAppName,
    strShellURI,
    creds);
ci.AuthenticationMechanism = auth;

Runspace runspace = RunspaceFactory.CreateRunspace(ci);
runspace.Open();

PowerShell psh = PowerShell.Create();
psh.Runspace = runspace;

С этим у вас есть доступ к удаленному сеансу PowerShell. Используйте psh для удаленного запуска команд.

1 голос
/ 10 июля 2010

http://schemas.microsoft.com/powershell/Microsoft.Exchange

должно работать для URI оболочки и получать контекст в конфигурации Exchange

0 голосов
/ 10 июля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...