2016-01-29 83 views
0

首先只是說我的PowerShell的能力有限,請溫柔; - )...遠程PowerShell腳本問題 - 交流2010

所以我已經建立了使用Microsoft 4個或5運行手冊Orchestrator本質上運行一些遠程PowerShell腳本,它們執行各種簡單的交換任務,例如設置OutOfOffice回覆,啓用郵箱,創建具有各種權限的共享郵箱等。我一直在使用相同的基本連接結構/方法,這些工作正常

$ExchangeCAS = "<CASServerName>" 
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<CASServerNameFQDN>/PowerShell/ 
import-PSSession $Session 
    <script body with exchange cmdlets> 

remove-PSSession $Session 

但是,我想創建一個額外的Runbook來自動添加I P地址作爲我們的4箇中心服務器的中繼 - 它是一個非常基本的腳本(我從互聯網上挖掘/調整過),但在從Orchestrator運行時不起作用。當我從安裝了Exchange工具的服務器上的Powershell ISE運行它時,它確實工作正常,而且其他交換(類似)腳本可以工作的事實至少可以排除Orchestrator服務帳戶執行的任何權限問題劇本。僅供參考下面是完整的腳本,我試圖從Orchestrator中作爲.NET運行活動,並使用PowerShell的ISE Orchestrator服務器上正在測試: -

​​

我可以從Orchestrator服務器中看到的錯誤ISE是如下所示:

無法處理參數「標識」的參數轉換。無法將類型「Deserialized.Microsoft.Exchange.Data.Directory.SystemConfiguration.ReceiveConnector」的「\ Anonymous Relay」值轉換爲 類型「Microsoft.Exchange.Configuration.Tasks.ReceiveConnectorIdParameter」。

從通過一些文章進行拖網看來,這是數據如何在本地和遠程PowerShell之間傳遞以及對象「水合」的問題。 TBH很多關於這些討論的細節在PowerShell方面有點超過我的頭腦,所以不希望懶惰,任何人都可以提供一個基於我正在嘗試的PowerShell腳本解決方案,以上我可以作爲.net活動從Orchestrator添加一個IP地址/地址(喜歡從輸入文件)作爲中繼。這將是很好的知道解決方案是否容易修改,以消除地址作爲中繼。

任何幫助不勝感激...

+0

你可以嘗試用下面的導入模塊(進口的PSSession $會話-AllowClobber) - 全球,而不是進口的PSSession –

+0

您好,做回那個週末之後上班試試這個和唉,沒有喜悅...當運行我從ISE運行你的版本我仍然可以看到相同的錯誤重新轉換反序列化的值如上。任何其他建議 - 非常樂意嘗試任何事情來讓它工作......歡呼聲 – user2567758

回答

0

使用服務器區分名稱。它將工作

Set-ReceiveConnector $recCon.DistinguishName -RemoteIPRanges $recCon.RemoteIPRanges