powershell脚本-使用windows计划程序启动后的不同行为
我有这个脚本来检查远程服务器上是否有映射磁盘。当我在命令行中运行它时,它工作得很好,从PowerGUI和ISE它工作得很好,但是当我在Windows任务调度器中调度它时,我会收到一条邮件消息(不包括脚本的邮件发送部分),该磁盘未映射-尽管磁盘已映射,但仍会执行“else”powershell脚本-使用windows计划程序启动后的不同行为,powershell,powershell-2.0,powershell-remoting,Powershell,Powershell 2.0,Powershell Remoting,我有这个脚本来检查远程服务器上是否有映射磁盘。当我在命令行中运行它时,它工作得很好,从PowerGUI和ISE它工作得很好,但是当我在Windows任务调度器中调度它时,我会收到一条邮件消息(不包括脚本的邮件发送部分),该磁盘未映射-尽管磁盘已映射,但仍会执行“else” if(Invoke-Command -ComputerName sdebt -ScriptBlock { Get-WmiObject win32_logicaldisk -ComputerName sdebt -Filter
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" }
谢谢。可能与权限有关。
- 当您从命令行/ISE/PowerGUI运行它时,您正在使用您的凭据
- 默认情况下,从计划任务运行它时,使用系统凭据运行它
如果1)和2)之后仍然失败,至少您确定这不是权限问题:-)当然。我认为在创建脚本时,我考虑了任务调度器中定义的不同凭据,但后来我忘记了:(为愚蠢的问题感到抱歉,谢谢!这是一个有效的问题…我很高兴我帮助了你:)