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 }`""
我正在尝试创建一个简单的计划任务,从特定用户中删除特定组。 任务已创建,但实际上并未根据定义的操作执行任何操作。如果我 运行 它在 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 }`""