2012-06-22 73 views
2

如何在做Import-PSSession時避免所有不需要的控制檯輸出?我正在寫一個腳本監視Exchange一些東西,它需要放到我們的監控系統,只產生非常具體的輸出,但每當我導入我的Exchange會議上就產生抑制來自Import-PSSession的輸出

警告:一些進口的命令名稱包括:未經批准的動詞,其中 可能會使他們較難發現。請使用詳細參數獲取更多 詳細信息,或輸入Get-Verb查看已批准動詞的列表。

我已經試過:

$Session=(Import-PSSession(New-PSSession -ConfigurationName Microsoft.Exchange \ 
-ConnectionUri http://CasServer/PowerShell/ -Authentication Kerberos   \ 
-Credential $Cred -AllowClobber -WarningAction:SilentlyContinue) 

它仍然顯示了不需要的文本。我也試過-ErrorAction:SilentlyContinue;不起作用。

回答

0

你可以嘗試管道| out null

+0

只是增加了空沒有工作 - 什麼做的工作是,明確+進口我想要的命令: 進口的PSSession $會話-CommandName獲取-MailboxDatabase時,Get-MailboxDatabaseCopyStatus –

+0

好,你可以提高你的問題,將是一個很好的信息給其他用戶! –

3

您是在進口PSSession將設置-WarningAction。警告你會得到像Import-Module(Import-PSSession在幕後調用)的氣味。

您可以將$ WarningPreference全局變量更改爲SilentlyContinue,以確保腳本的有效性。那樣會沉默你得到的警告。

9

您可以使用下面的開關相應的警告,如果指定了所有你想使用的cmdlet是不可行的:

-DisableNameChecking 

例子:

Import-PSSession $session -DisableNameChecking 
+1

正是我需要的,謝謝! –

1

我認爲更好的辦法是將Import-PSSession的輸出讀入變量如:

$output = Import-PSSession $session -AllowClobber 

然後喲u能閱讀$output,看看它是否是一個警告,錯誤等

但不要用-WarningAction:SilentlyContinue-ErrorAction:SilentlyContinue,因爲你永遠不會看到它是否正常或不

0

另一種選擇:

Import-PSSession $session 3> $null