2

我有这个脚本来检查远程服务器上是否有映射磁盘。当我在命令行中运行它时,它运行良好,从 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" }

谢谢你。

4

1 回答 1

2

可能与权限有关。

  • 当您从命令行/ISE/PowerGUI 运行它时,您正在使用您的凭据

  • 默认情况下,当您从计划任务运行它时,您会使用系统凭据运行它

如果我是你我会:

  1. 尝试使用您的凭据运行它,看看这是否有所作为。
  2. 尝试以最高权限运行它

如果在 1) 和 2) 之后仍然失败,至少您确定这不是权限问题 :-)

于 2012-09-19T10:15:49.380 回答