Windows-Server-2008-R2
通過 PowerShell 對伺服器列表執行 SCHTasks 命令
因此,我試圖在將執行 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
循環迭代中目前項的標記。