我正在尝试使用PowerShell计划的作业在特定时间注销我的计算机。
$trigger = New-JobTrigger -Daily -At (Get-Date).AddMinutes(2)
Register-ScheduledJob -Trigger $Trigger -Name "LogoffComputer5" -ScriptBlock {
shutdown /l /f
Get-Process | Out-File -FilePath "c:\process.txt"
} -Credential $credential
我认为这是权限,因此我将Invoke-Command
与凭据一起使用,也将shutdown
与完整路径一起使用。
我尝试了以下命令
Start-Process "cmd.exe" "/C shutdown /l /f"
所有命令都可以在PowerShell中使用,但不能在计划的作业中使用。
Import-Module PSScheduledJob;
$jobDef = [Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition]::LoadFromStore('LogoffComputer5', 'C:\Users\wkassem\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs');
$jobDef.Run()
如果我从PowerShell运行,则上述命令有效。