[英]Cannot connect to Exchange PowerShell to run scripts remotely using C#
我需要在我們的交換服務器上運行PowerShell腳本。 我已經在本地計算機和SMTP服務器上啟用了PS-Remoting和WinRM-quickconfig。 當我嘗試連接時,我收到以下錯誤。
連接到遠程服務器失敗,並顯示以下錯誤消息:WinRM無法處理該請求。 使用Kerberos身份驗證時發生以下錯誤:當前沒有可用於服務登錄請求的登錄服務器。
這是下面的連接代碼注意:我可以使用RDP使用該用戶帳戶連接到SMTP服務器。
public static void Main(string[] args)
{
//CREATE SECURE STRING PASSWORD
string pwd = "MyPasswordAsAString";
char[] cpwd = pwd.ToCharArray();
SecureString pass = new SecureString();
foreach (char c in cpwd)
pass.AppendChar(c);
//CREATE PS CREDENTIAL
PSCredential Credential = new PSCredential("Domain\\Username", pass);
//RESOURCE URI
string shell = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
//ADDRESS OF SMTP SERVER
var target = new Uri("HTTP://FULLYQUALIFIEDDOMAINNAME");
WSManConnectionInfo connectionInfo = new WSManConnectionInfo(target, shell, Credential );
//CREATE RUNSPACE
Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo);
//OPEN CONNECTION
runspace.Open();
using (PowerShell ps = PowerShell.Create())
{
ps.Runspace = runspace;
ps.AddScript("Get-Service");
var results = ps.Invoke();
// Do something with result ...
}
runspace.Close();
//AFTER FILE IS CREATED THROUGH POWERSHELL READ IT WITH EXCELL
DataTable PF2 = processFile(@"C:\inetpub\Clients\MLK\confRooms-permissions.xlsx", "xlsx");
importData(PF2);
}
想通了! 將變量目標更改為Uri類型和地址以服務我添加的port / wsman
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.