このスクリプトを使用して、リモートサーバーにマップされたディスクがあるかどうかを確認します。コマンドラインで実行すると完全に機能します。PowerGUIとISEからは完全に機能しますが、Windowsタスクスケジューラで実行すると、メールメッセージが表示されます(スクリプトのメール送信部分は含まれていません)。そのディスクは含まれていません。マップ済み-ディスクがマップされているにもかかわらず、「else」が実行されます。
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" }
ありがとうございました。