2013-07-16 17 views
1

我要查詢的服務器,比如說內存嘗試內置的憑證,然後再提示另一個

gwmi win32_freephysicalmemory -computername server1 -credential $cred 

我知道得到的憑據,並構建一個PSCredential的對象, 但我想先試試使用我當前的憑證進行查詢,並且如果我使用get-credentials獲得了未授權的錯誤提示。 這樣我就可以從我的工作站或某個服務器運行腳本(我不使用相同的信用)

我想我最初需要提供$ cred與我當前的憑據,然後在catchblock中更改它,如果它失敗,但我如何將我登錄的憑據轉儲到屏幕對象?

+0

試圖將$ cred設置爲[System.net.credentialcache] :: DefaultCredential,但是因爲它返回一個接口,我不知道它是否可能以某種方式強制轉換爲pscredential-object – user2589164

回答

1

你試過[System.Management.Automation.PSCredential]::Empty

您使用PS 3.0嗎? 可以使用

$PSDefaultParameterValues.Add('Get-WMIObject:Credential',[System.Management.Automation.P 
SCredential]::Empty) 

並設置爲默認的參數值,當這種失敗,你可以找Credential參數。

+0

對!正是我在找什麼..當我通過一個cred-object從getWmi返回從Empty(),Powershell(或dotnet)似乎使用我登錄的憑據,因爲對象是空的?或者什麼,一樣好。 – user2589164

+1

'$ creds = [System.Management.Automation.PSCredential] ::空 嘗試{ \t GET-WmiObject可以-Class Win32_PhysicalMemory -ComputerName服務器-Credential $ creds } 抓[System.UnauthorizedAccessException的] { \t寫 - 警告 「未授權」 \t $ creds = GET-憑證-Message 「給我其他憑證」 } 終於 { \t 「重試...'N」 \t GET-WmiObject可以-Class Win32_PhysicalMemory -ComputerName服務器 - 憑證$ creds }' – user2589164

相關問題