我正在尝试制作ps脚本,以与我提供路径的另一个脚本建立新的任务序列。
问题在于,尽管脚本创建了一个Task,但是PowerShell脚本却没有按照我的意愿启动。
# Script: Make new Task Scheduele
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Path
$env:USERPROFILE\Downloads\Repository\rig_monitoring.ps1'
$trigger = New-ScheduledTaskTrigger -At 12am -Once -RepetitionInterval (New-TimeSpan -Minutes 4) -RepetitionDuration (New-TimeSpan -Days (365 * 20))
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Monitoring" -Description "Monitoring Set-up 4 minute interval" -User "System" -RunLevel Highest
答案 0 :(得分:0)
非常感谢您提供的所有帮助。
最终版本完全可以满足我的需求:
$location = (get-childitem -Path 'C:\' -Filter 'powershell_monitoring.ps1' -Recurse -ErrorAction SilentlyContinue).FullName
$action = New-ScheduledTaskAction -Execute 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' -Argument "-NonInteractive -NoLogo -NoProfile -File $location"
$trigger = New-ScheduledTaskTrigger -At $(Get-Date).AddMinutes(1) -Once -RepetitionInterval (New-TimeSpan -Minutes 4) -RepetitionDuration (New-TimeSpan -Days (365 * 20))
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "PS Monitoring" -Description "Monitoring Set-up 4 minute interval" -User "System" -RunLevel Highest
答案 1 :(得分:0)
原始回复
“到处都可以找到rig_monitoring.ps1的解析路径”
为什么不只使用这个:
(Get-ChildItem -Path 'C:\' -Filter 'rig_monitoring.ps1' -Recurse -ErrorAction SilentlyContinue).FullName.
更新后的回复
只要用户系统上有多个驱动器,并且用户有可能将其保存到其中一个驱动器上。
(Get-PSDrive -PSProvider 'FileSystem').Root |
%{(Get-ChildItem -Path $PSItem -Filter 'rig_monitoring.ps1' -Recurse -ErrorAction SilentlyContinue).FullName} |
Sort-Object LastAccessTime -Descending | Select-Object -First 1