2012-09-19 25 views
2

我有這個腳本來檢查遠程服務器上是否有映射磁盤。當我在命令行中運行它時,它完美地工作,從PowerGUI和ISE完美地工作,但是當我在Windows任務調度器中調度它時,我收到一封郵件(不包括郵件發送部分腳本),該磁盤不是映射 - 即使映射磁盤,也會執行「else」。powershell腳本 - 啓動Windows調度程序後的不同行爲

if(Invoke-Command -ComputerName sdebt -ScriptBlock { Get-WmiObject win32_logicaldisk -ComputerName sdebt -Filter "DeviceID = 'L:'"}) { 
     Write-Host -ForegroundColor Green "L: is OK"} else { 
       Write-Host -ForegroundColor Magenta "L: is NOT OK" 
       $subject = "CHYBA: Disk L is not mapped" 
       $body += "Disk L is not mapped `r" } 

謝謝。

回答

2

可能與權限有關。

  • 當您從您的命令行運行它,你正在使用您的憑據

  • /ISE/PowerGUI的當你默認情況下從計劃任務運行它,你用系統憑據運行

如果我是你,我會:

  1. 嘗試運行它與您的憑據s如果這有所作爲
  2. 嘗試用最高權限

如果1後),2)仍然無法運行它至少你肯定知道這是不是一個權限問題:-)

+1

當然。我認爲,在創建腳本的某個時刻,我正在考慮Task Scheduler中定義的不同憑據,但隨後我忘了它:(對不起,愚蠢的問題,謝謝! – culter

+0

這是一個有效的問題...我很高興我幫助你:) –

相關問題