使用 powershell 替换管道名称
Replace pipeline name using powershell
我正在尝试通过将 XML 文件作为字符串读取并能够成功地在 windows 任务调度程序中注册任务,另外我想做的是替换 { plname}(出现在 XML 中)与任务名称。
<Exec>
<Command>notepad.exe</Command>
<Arguments>-Command "&{ & "./pl.ps1 {plname} run" }"</Arguments>
<WorkingDirectory>C:\Windows\System32\Tasks\Power</WorkingDirectory>
</Exec>
当我 运行 我的 PS 脚本(不包括 Register-ScheduledTask cmdlet)时,我可以看到 {plname} 被替换。
font is small but you can see {plname} is replaced by openNotepad
现在,当我 运行 "Register-ScheduledTask" cmdlet 成功注册任务时,但在 Task Scheduler 的 GUI 中它没有显示之前完成的替换。
{plname} was replaced earlier with openNotepad, but has reverted back to its previous state.
希望我已经说清楚了。
这是我的脚本,以防万一。
$taskName = "openNotepad"
$taskTemplate = Get-Content (join-path "C:\Users\ACER\Desktop\POWERSHELL" "task-scheduler-template.xml" ) | Out-String
$taskTemplate -replace "{plname}", $taskName
Register-ScheduledTask -Xml $taskTemplate -TaskPath "\Power\" -TaskName $taskName
您忘记用替换值更新 $taskTempate 变量。
$taskTemplate = $taskTemplate -replace "{plname}", $taskName
我正在尝试通过将 XML 文件作为字符串读取并能够成功地在 windows 任务调度程序中注册任务,另外我想做的是替换 { plname}(出现在 XML 中)与任务名称。
<Exec>
<Command>notepad.exe</Command>
<Arguments>-Command "&{ & "./pl.ps1 {plname} run" }"</Arguments>
<WorkingDirectory>C:\Windows\System32\Tasks\Power</WorkingDirectory>
</Exec>
当我 运行 我的 PS 脚本(不包括 Register-ScheduledTask cmdlet)时,我可以看到 {plname} 被替换。 font is small but you can see {plname} is replaced by openNotepad
现在,当我 运行 "Register-ScheduledTask" cmdlet 成功注册任务时,但在 Task Scheduler 的 GUI 中它没有显示之前完成的替换。 {plname} was replaced earlier with openNotepad, but has reverted back to its previous state.
希望我已经说清楚了。 这是我的脚本,以防万一。
$taskName = "openNotepad"
$taskTemplate = Get-Content (join-path "C:\Users\ACER\Desktop\POWERSHELL" "task-scheduler-template.xml" ) | Out-String
$taskTemplate -replace "{plname}", $taskName
Register-ScheduledTask -Xml $taskTemplate -TaskPath "\Power\" -TaskName $taskName
您忘记用替换值更新 $taskTempate 变量。
$taskTemplate = $taskTemplate -replace "{plname}", $taskName