Windows-Server-2008-R2

通過 PowerShell 對伺服器列表執行 SCHTasks 命令

  • June 5, 2017

因此,我試圖在將執行 PowerShell 腳本的大量伺服器(60 多台)上創建計劃任務。我已經弄清楚並測試了 schtask 命令,如果我在單個伺服器上執行它,它執行得很好。

因此,由於我需要針對 60 多台伺服器執行此操作,因此我創建了一個包含所有站點程式碼的 .txt 文件。然後我創建了一個變數,定義為該文本文件。然後創建 foreach-object 循環,首先定義一個變數,將站點程式碼添加到伺服器名稱的其餘部分,然後針對該變數執行 schtasks 命令。我猜是它失敗的地方(它只是說“為以下參數提供值”,所以它不是很有幫助。

有誰知道我哪裡出錯了?我不是最強的腳本編寫者,所以任何幫助都會非常感激。這是完整的腳本:

   $Site = Get-Content -Path D:\folder1\Sites.txt |

ForEach-Object
   {
       $server = $site + "-file-p50"
       .\schtasks /Create /S $Server /RU "SYSTEM" /RP /SC ONCE /TN "DFS Mapping" /TR "powershell.exe C:\users\<username>\desktop\datapaths.ps1" /ST "4:00" /SD "06/06/2017" /F /RL HIGHEST
   }

您的$site變數目前是一組站點。看起來您可能打算在腳本塊中包含這一ForEach-Object

$server = $_ + "-file-p50"

$_ForEach-Object循環迭代中目前項的標記。

引用自:https://serverfault.com/questions/854079