Пользовательская запись командлета в удаленной PowerShellC#

Место общения программистов C#
Ответить
Anonymous
 Пользовательская запись командлета в удаленной PowerShell

Сообщение Anonymous »

Я уже несколько дней пытаюсь добавить свой собственный командлет в пространство выполнения удаленной оболочки PowerShell на C#

Код: Выделить всё

string shellUri = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
System.Security.SecureString sString = new System.Security.SecureString();
foreach(char passwordChar in password.ToCharArray())
{
sString.AppendChar(passwordChar);
}
PSCredential credential = new PSCredential(username, sString);
WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, computerName, 5985, "/wsman", shellUri, credential);
try {
using (Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo))
{
runspace.Open();
pipe = runspace.CreatePipeline();
pipe.Commands.AddScript(script);
Collection
 result = pipe.Invoke();
foreach (PSObject line in result)
{
scriptOutput.Add(line.ToString());
}
pipe.Dispose();
runspace.Close();
}
У меня есть что-то вроде этого, позволяющее выполнять скрипт на удаленном компьютере. Но мне нужно добавить собственный командлет.

Я знаю, что с помощью локальной оболочки PowerShell вы можете использовать InitialSessionState следующим образом:

Код: Выделить всё

InitialSessionState iss = InitialSessionState.CreateDefault();
SessionStateCmdletEntry gfv = new SessionStateCmdletEntry("Get-Custom", typeof(GetCustomCommand), null);
iss.Commands.Add(gfv);
using (Runspace runspace = RunspaceFactory.CreateRunspace(iss))
Где GetCustomCommand расширяет PSCmdlet.

Но с помощью удаленной оболочки PowerShell вы не можете инициализировать пространство выполнения с помощью InitialSessionState.Как добавить SessionStateCmdLetEntry в удаленное пространство выполнения?

Может ли кто-нибудь мне помочь? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/425 ... powershell
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»