我有一个脚本,它使用 powershell 设置以提升的权限运行的计划任务
$argument = "-WindowStyle Hidden -command `"&{$myscriptPath}`""
$action = New-ScheduledTaskAction -execute 'Powershell.exe' -Argument $argument
$settings = New-ScheduledTaskSettingsSet -Hidden -StartWhenAvailable -RunOnlyIfNetworkAvailable
$trigger = New-ScheduledTaskTrigger -Daily -At $scheduledTime
Write-Host "for this script to work it needs elevated privileges"
$Credentials = get-credential
Register-ScheduledTask -TaskName "mytask"`
-User $Credentials.username`
-Password $Credentials.GetNetworkCredential().Password`
-Action $action`
-Settings $settings`
-Trigger $trigger`
-RunLevel Highest`
它在我的工作机器上运行良好,并且设置了密码(在域上,我不确定这是否相关),但在家里,当我设置一台使用 Microsoft 帐户/Windows Hello 密码登录的用户的机器时,我不断收到用户/密码不正确的错误。如果我尝试使用我的登录名和密码组合手动设置任务,也不起作用。
所以问题是:手动设置提升权限的计划任务时,我应该输入什么用户名(或域\用户名)和密码,以及如何使用 powershell 获取该信息?
答案1
看一眼这链接。据 Microsoft 称,无法使用 Microsoft 帐户在任务计划程序中设置任务。
原因:出现此问题的原因是任务计划程序 UI 不支持 Microsoft 帐户。
解决方法:要解决此问题,请运行 Schtasks 命令以及 /ru 和 /rp 选项来计划任务。