Powershell 生成的计划任务在 运行 时不执行任何操作

Powershell generated scheduled task does nothing when running

我正在尝试创建一个简单的计划任务,从特定用户中删除特定组。 任务已创建,但实际上并未根据定义的操作执行任何操作。如果我 运行 它在 powershell 中手动与同一用户一起工作,它工作正常。对我在这里缺少的东西有什么想法吗?

这里有问题的行是我尝试设置的 New-ScheduledTaskAction 操作。

这是我使用的代码块。

$Action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "Import-Module ActiveDirectory; Remove-ADGroupMember -Identity $SecurityGroup -Members $User -Confirm:$false"
$Trigger = New-ScheduledTaskTrigger -Once -At "$ARDate 00:00:00 AM"
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Register-ScheduledTask -TaskName "SAAR - Remove $User From $SecurityGroup" -InputObject $Task -User ($env:USERDOMAIN + '\' + $env:USERNAME)

您的 Powershell 参数看起来不对。它可能应该是这样的:

$Action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "-ExecutionPolicy Bypass -Command `"& { Import-Module ActiveDirectory; Remove-ADGroupMember -Identity `$SecurityGroup -Members `$User -Confirm:`$false }`""
$Trigger = New-ScheduledTaskTrigger -Once -At "$ARDate 00:00:00 AM"
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Register-ScheduledTask -TaskName "SAAR - Remove $User From $SecurityGroup" -InputObject $Task -User ($env:USERDOMAIN + '\' + $env:USERNAME)

请注意反引号 (`) 以转义某些字符,例如引号和美元。话虽如此,我不确定 $SecurityGroup 等值的来源...?

谢谢!通过一些指导和对您的版本的更多调整,我通过使用这一行让它工作:

$Action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "-ExecutionPolicy Bypass -Command `"& { Import-Module ActiveDirectory; Remove-ADGroupMember -Identity `"$SecurityGroup`" -Members `"$User`" -Confirm:`$false }`""