2013-08-25 61 views
0

可有人請,有助於理解爲什麼一個Csharp的函數內將以下代碼「連接-QADService」一詞未被識別爲cmdlet的名稱...內C#功能

Runspace runspace = RunspaceFactory.CreateRunspace(); 
    runspace.Open(); 
    Pipeline pipe = runspace.CreatePipeline(); 
    Command connectToActDir = new Command("connect-QADService"); 
    connectToActDir.Parameters.Add("Service", "'ip:port'"); 
    connectToActDir.Parameters.Add("ConnectionAccount", "'user.local\administrator'"); 
    connectToActDir.Parameters.Add("ConnectionPassword", "'password'"); 
    pipe.Commands.Add(connectToActDir); 
    pipe.Invoke(); 

導致以下錯誤

術語'connect-QADService'未被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。

安裝ActiveRoles cmdlet並在power shell運行等效命令成功。我在項目引用中錯過了一些dll嗎? 謝謝

回答

1

默認情況下,Quest ActiveRoles cmdlet未加載到PowerShell會話中,因爲它們不是PowerShell的一部分。

PowerShell 3將在需要時自動加載模塊。我不知道在使用RunSpace時這是否成立,因爲我從來沒有這樣使用過PowerShell。

是否將Quest管理單元或模塊加載到PowerShell配置文件中?你需要在你的C#代碼中做同樣的事情。

相關問題