Подключитесь к poweshell с помощью ASP.NET с#
Я пытаюсь подключиться, чтобы подключиться к власти-оболочки с помощью .Нетто На C#. Мне нужно получить подробную информацию о почтовом ящике, создать новый почтовый ящик и удалить существующий почтовый ящик.
Я использую "получить почтовый ящик","новый почтовый ящик" &ампер; "удалить почтовый ящик".
Но когда я вызываю команду, она бросает меня ниже ошибки.
Термин "Get-Mailbox" не распознается как имя командлета, функции, файла сценария или действующей программы. Проверьте правильность написания имени или, если путь был включен, убедитесь, что путь правильный, и повторите попытку.
Я подключаюсь к силовой оболочке удаленно.
Что я уже пробовал:
Runspace runspace = null; string shellUri = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell"; PSCredential remoteCredential = new PSCredential(@"userid", StringToSecureString("password")); WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, "ip address",5985, "/wsman", shellUri, remoteCredential, 1 * 60 * 1000); connectionInfo.OperationTimeout = 4 * 60 * 1000; runspace = RunspaceFactory.CreateRunspace(connectionInfo); connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic; runspace.Open(); using (PowerShell ps = PowerShell.Create()) { ps.Runspace = runspace; ps.Commands.AddCommand("Get-Mailbox"); ps.Commands.AddParameter("Identity", "user@domain.com"); var result = ps.Invoke(); foreach (PSObject res in result) { Console.WriteLine("{0,-25}1}",res.Members["DisplayName"].Value,res.Members["PrimarySMTPAddress"].Value); } } runspace.Close(); runspace.Dispose();
А это
string shellUri = "http://schemas.microsoft.com/powershellMicrosoft.PowerShell"; PSCredential remoteCredential = new PSCredential(@"userid", StringToSecureString("password")); WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, "ip address", 5985, "/wsman", shellUri, remoteCredential, 1 * 60 * 1000); connectionInfo.OperationTimeout = 4 * 60 * 1000; Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo); connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic; runspace.Open(); //Get Mail Box Pipeline pipelineGetMailBox = runspace.CreatePipeline(); Command getMailBox = new Command("Get-Mailbox"); getMailBox.Parameters.Add("OrganizationalUnit", "OU Name"); getMailBox.Parameters.Add("Identity", "user@domain.com"); pipelineGetMailBox.Commands.Add(getMailBox); Collection<PSObject> mailboxGetResult = pipelineGetMailBox.Invoke(); pipelineGetMailBox.Dispose(); runspace.Close(); runspace.Dispose();