Windows-Xp

如何在遠端電腦上使用 wmic 複製網路文件?

  • September 25, 2012

我是域管理員,我正在嘗試執行 wmic 腳本以從另一台遠端 pc 複製遠端 pc 上的文件。

我的命令:

WMIC /NODE:@"C:\compList.txt" PROCESS CALL Create "xcopy \\networkPC\file.exe C:\"

它不會在我在 compList.txt 上列出的電腦上複製 file.exe,我知道這不是特權問題,因為我嘗試執行一個簡單的程序

cmd /c echo 1>C:\1.txt

它在遠端電腦中創建了 1.txt。

可能是什麼問題呢?

您是否可能啟用了阻止 WMI 呼叫的 Windows 防火牆(或第 3 方防火牆)?需要打開埠 135 才能使 WMI 正常工作。有關通過防火牆連接 WMI 的詳細資訊,請參閱本文

編輯:

我對此進行了更多探勘-您的問題是WMIC在嘗試連接到networkPC時如何使用您的憑據。您正在以預設的“模擬”模擬模式執行 WMIC - 這允許 WMIC 在本地電腦(compList.txt 中的電腦)上模擬您的帳戶 - 但是當它嘗試連接到遠端電腦(networkPC)時,它無法模擬你,所以它連接為 NT AUTHORITY\ANONYMOUS LOGON。

我認為您在這裡有兩種可能的解決方案:

  1. 允許 networkPC 上的共享對 NT AUTHORITY\ANONYMOUS LOGON 具有讀取權限 - 這比聽起來要復雜一些 - 您必須授予 ANONYMOUS LOGON 共享和文件級別權限,並允許它在 dcomcfg 中啟動 WMI
  2. 設置您的 WMIC 呼叫以使用委託模擬。這需要您將 AD 中的使用者和電腦帳戶設置為具有“受信任的委派”權限。然後您可以使用/IMPLEVEL:Delegate- 呼叫 wmic ,但這會帶來一個新問題,因為您還需要傳入/AUTHORITY:"kerberos:targetdomain\targetcomputer"參數 - 而 targetcomputer 是 compList.txt 中的電腦名稱 - 這意味著您需要將 wmic 呼叫放入在 compList.txt 中循環電腦而不是使用/NODE:@compList.txt

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