Register-ScheduledTask:未完成帐户名称和安全 ID 之间的映射

Tim*_*Tim 7 powershell scheduled-tasks

下午好,

我尝试远程运行此脚本,但不断收到以下错误:

Register-ScheduledTask : No mapping between account names and security IDs was
done.
(42,4):UserId:
At C:\TempSQL\FullSQLBackupInstaller.ps1:39 char:13
+             Register-ScheduledTask -TaskName 'crebackup' -InputObject ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (PS_ScheduledTask:Root/Microsoft/.
   ..S_ScheduledTask) [Register-ScheduledTask], CimException
    + FullyQualifiedErrorId : HRESULT 0x80070534,Register-ScheduledTask
Run Code Online (Sandbox Code Playgroud)

这是脚本:

function windowsTask {
$taskName = "crebackup"
$taskExists = Get-ScheduledTask | Where-Object {$_.TaskName -like $taskName}
if($taskExists) {
Start-ScheduledTask -TaskName "crebackup"}
else {
$Action= New-ScheduledTaskAction -Execute "C:\POSNation\SQLBackup\SQLBackup.exe" -WorkingDirectory "C:\POSNation\SQLBackup\"
$Trigger = New-ScheduledTaskTrigger -Daily -At 3am
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Register-ScheduledTask -TaskName 'crebackup' -InputObject $Task -User $env:UserName
}
#$taskName = "crebackup"
$taskExists = Get-ScheduledTask | Where-Object {$_.TaskName -like $taskName
}
Run Code Online (Sandbox Code Playgroud)

小智 0

尝试这些行之一。两者都应该正确设置完整的用户名。

Register-ScheduledTask -TaskName 'crebackup' -InputObject $Task -User "$Env:USERDOMAIN\$ENV:USERNAME"
Run Code Online (Sandbox Code Playgroud)

或者

Register-ScheduledTask -TaskName 'crebackup' -InputObject $Task -User (whoami)
Run Code Online (Sandbox Code Playgroud)