用於更新許多遠端電腦上的檔案和/或應用程式的方法或應用程式?

用於更新許多遠端電腦上的檔案和/或應用程式的方法或應用程式?

我有幾台遠端操作的 Windows 10 和 Windows 7 電腦。有時,某些檔案或可執行檔需要更新。這將涉及以下內容。

  1. 關閉正在運行的程式。
  2. 刪除其目前的可執行文件
  3. 複製新的可執行文件
  4. 根據需要替換(刪除和複製)任何文件
  5. 重新啟動程式

我想知道是否有某種應用程式可以讓我跨單一系統(單獨更新)或跨所有系統(批次更新)進行控制。

答案1

首先,具體的軟體建議超出了本文的範圍超級用戶。嘗試https://softwarerecs.stackexchange.com/, 反而。

但是,如果有包含新文件的中央儲存庫,您可以編寫一個簡單的批次腳本來執行此操作。

  • 使用任務終止停止正在運行的應用程式。
  • 使用副本*或更好的版本,機器人複製,用新文件覆蓋舊文件(機器人複製讓您指定日期,以防止覆蓋較新的舊檔案),指定完整的 UNC 路徑。替代方案是使用文件傳輸協定或者SFTP傳輸檔案。在將新文件複製到舊文件上時,您實際上已經刪除了舊文件。
  • 使用開始命令重新啟動應用程式。

當然,也有一些複雜的情況:

  • 每個應用程式在誰的憑證下運作?重新啟動應用程式時,您的腳本應在相同的憑證下運行 - 如果您始終使用系統,則本機使用者將難以與應用程式互動。對於所有其他目的,該腳本可以作為 System.
  • 是否應更換應用程式總是重新啟動?如果你想確定它是否在一開始就運行,檢查結果任務終止,並用它來確定是否重新啟動。
  • 使用SFTP需要在伺服器和用戶端上安裝其他應用程式。
  • 這將是非常對於記錄腳本工作日誌很有用。

答案2

Windows 內建有 WMI(Windows 管理規格)和 WinRM(Windows 遠端管理),它們都執行相同的操作,但使用不同的網路管道。 Windows 也可以將檔案複製到另一台計算機,就像在一台電腦上複製檔案一樣。


該批次文件將為您提供網路上開啟的電腦的文字檔案。

for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A >> c:\computerlist.txt

殺死網路上某個行程的所有實例

wmic /node:@c:\computerlist.txt process where "name='notepad.exe'" call terminate

複製文件。 C$ 是一個隱藏的管理共享,只有管理員才能使用。

copy c:\somefolder\file.exe \\127.0.0.1\C$\Somefolder\file.exe

看看for /?如何執行上述循環計算機列表.txt。將以下行放入批次檔中。刪除 echo 部分以實際執行某些操作。

for /f "usebackq delims=" %%A in ("C:\Folder\computerlist.txt.txt") do echo copy "c:\folder\file.exe" "\\%%A\C$\folder\file.exe

刪除和複製是沒有意義的。


在遠端電腦上啟動不可見的進程(如果在本機電腦上啟動,則該進程將可見)。這裡我們指定一台計算機而不是計算機的文字檔。

wmic /node:127.0.0.1 process call create "c:\\windows\\notepad.exe"

如需協助,請輸入for /?, wmic /?, wmic process get /?, wmic process call /?。還有wmic /format /?wmic /node /?.

相關內容