Powershell
在 Orchestrator 2012 R2 執行 .Net 腳本活動中找不到 Invoke-RestMethod cmdlet
我正在嘗試在 Orchestrator 2012 R2 執行手冊中的 PowerShell 腳本中使用 Invoke-RestMethod。當我執行執行手冊時,它告訴我:
術語“Invoke-RestMethod”未被辨識為 cmdlet、函式、腳本文件或可執行程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確並重試。
如果我將活動中的行複制並粘貼到 Runbook 伺服器上的 PowerShell 控制台,它會按預期工作。Invoke-RestMethod的文件告訴我它是在 .NET v3 中引入的。“執行 .Net 腳本”的文件說:
此活動與 .NET CLR 2.0 版及更高版本兼容。
IIRC,.NET 3 是 .NET 2 之後的下一個,所以我假設這個聲明意味著它應該至少支持 .NET 3 PowerShell cmdlet。誰能解釋為什麼這對我不起作用?
PS:當我使用 REST 集成包中的 Invoke REST 服務時,它返回的數據在返回的字元串周圍帶有引號,這意味著我必須在它之後放置另一個活動以去除引號,這就是我正在做的作為一種解決方法。我寧願在現有腳本中多出一行,而不是必須添加兩個額外的活動來完成同一件事。
Orchestrator 似乎預設僅使用 PowerShell v2。這可以通過系統資料庫黑客來更改: http ://www.scsm.se/?p=1458 我已經在我的伺服器上完成了這個,它對我有用。