使用任务计划程序以另一个用户身份运行脚本,但脚本未运行

时间:2021-06-17 22:49:24

标签: linux windows powershell

这是我第一次使用任务调度程序,但我觉得我已经很接近了。我让它弹出并运行任务,但我指定的脚本没有运行。当我自己运行脚本时,它运行得很好。

$time = (Get-Date).AddSeconds(5).ToString("HH:mm:ss")
$Time = New-ScheduledTaskTrigger -At $time -Once
$User = 'DOMAIN\Username' 
$PS = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -WindowStyle Hidden -file c:\Temp\map_homedrive.ps1"
Register-ScheduledTask -TaskName "DiyEusFix" -Trigger $Time -User $User -Action $PS 
Start-ScheduledTask -TaskName "DiyEusFix"

sleep 10

Unregister-ScheduledTask -TaskName "DiyEusFix"  -Confirm:$false

这运行没有任何问题。它试图运行的 .ps1 文件是:

$homedir = "\\home\directory\path"
New-PSDrive –Name “F” –PSProvider FileSystem –Root "$($homedir)" –Persist

我知道跟踪用户上下文对于映射驱动器很重要,但根据我的理解,在 Register-ScheduledTask 中指定 -User 应该作为我想要的正确用户运行。这是我认为我的理解断开的地方。我认为它可能不会切换用户,但从语法的角度来看,它看起来是正确的。任何见解都会非常有帮助。

0 个答案:

没有答案