我有這個腳本連接到一堆服務器,並從應用程序和系統日誌以及磁盤空間獲取服務狀態,錯誤。它運行罰款,在Windows XP計劃任務,但有我使用的功能導入從一個單獨的文件,他們都以加密形式存儲的憑據在Windows 2008的一些奇怪的問題:Powershell腳本作爲Windows 2008上的計劃任務未正確運行
function Import-credential($path) {
$cred = Import-Clixml $path
$cred.password = $cred.Password | ConvertTo-SecureString
New-Object system.Management.Automation.PSCredential(
$cred.username, $cred.password)
}
這工作正常當我手動運行它,當它運行作爲Windows XP的計劃任務,但有以下錯誤失敗在Windows 2008上:
New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process ar
gument because the value of argument "password" is null. Change the value of ar
gument "password" to a non-null value."
At F:\Tools\MCHS Server Report\monitor.ps1:9 char:15
+ New-Object <<<< system.Management.Automation.PSCredential(
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvoca
tionException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
Shell.Commands.NewObjectCommand
這是9號線:
New-Object system.Management.Automation.PSCredential(
我n任務計劃程序我在程序/腳本中具有PowerShell.exe的完整路徑,並在添加參數中包含命令&「F:\ Tools \ MCHS Server Report \ monitor.ps1」。
任何想法?
編輯:我試着改變它運行到我自己的帳戶(我正在使用專門爲計劃任務創建的本地帳戶),它的工作正常。我有0個想法,爲什麼它不會與其他用戶一起工作,因爲我們都是管理員,似乎有相同的權限...
運行任務的用戶是否可以訪問密碼文件?您是否將任務配置爲以最高權限運行? –
是的,他已經訪問該文件。我已經將任務配置爲以最高權限運行,但沒有任何變化:(感謝您抽出時間發表評論! – linnah
我仍然懷疑UAC相關問題。您是否可以暫時禁用UAC(需要重新啓動服務器)?你在使用哪個PowerShell版本? –