在 Active Directory 網域成員 PC 上執行腳本而無需重新啟動或登入

在 Active Directory 網域成員 PC 上執行腳本而無需重新啟動或登入

我有一個在 Windows Server 2003 R2 上執行的 Active Directory 網域。客戶端是 Windows XP SP2、Vista 和 Windows 7 的混合體。我不希望在登入、登出、啟動或關閉時發生這種情況。我只希望它盡快發生,並且一次。

有沒有相對輕鬆、適用於所有客戶類型的方法?

謝謝。

更新:我本來應該要提到這一點:許多 PC 都位於插入乙太網路插孔的廉價 5 埠路由器後面。想像五個研究生共用一個辦公室。因此辦公室中的每台 PC 都有一個 RFC1918 IP。我在路由器的公共端,所以無法直接連接到電腦。因此 PsExec 或 WMI 將不起作用。 WinRM 可能會,但大多數 PC 都沒有安裝它。我認為我唯一的選擇是以某種方式使用 GPO,也許可以安排任務從網路磁碟機執行腳本。

答案1

我會說使用ps工具psexec.exe 遠端運行腳本。

這是一個輕鬆的啟動和運行過程,不需要您登入每個站點,並且之後不會留下足跡。


作為對所有評論的回應,由於他們可以與網域中的 DC 進行通信,因此您應該能夠跳到 DC 並從那裡運行 psexec 腳本。

答案2

這聽起來像是一份工作執行程式。如果您提供「\」作為計算機,PSexec 將允許您在網域中的所有計算機上遠端執行腳本。您需要在腳本中添加某種邏輯,以便在已完成的系統上留下某種指示,並在開始之前進行檢查。

答案3

您可以編寫一個包裝器腳本,並使用 psexec 連接到遠端電腦並執行您要執行的腳本,前提是該腳本位於這些電腦可存取的位置。您只需要擁有要連接的電腦的來源即可循環存取它們。

答案4

我想在每台機器上運行一次腳本(批次文件,但可能是 VB 腳本)。我不希望在登入、登出、啟動或關閉時發生這種情況。我只希望它盡快發生,而且一次。有沒有相對輕鬆、適用於所有客戶類型的方法?

VB腳本。

許多 PC 後面都有插入乙太網路插孔的廉價 5 連接埠路由器。想像五個研究生共用一個辦公室。因此辦公室中的每台 PC 都有一個 RFC1918 IP。

我很驚訝這竟然有效。我假設所有路由器都有不同的子網路;否則,您的網域將完全混亂,因為您有任意數量的客戶端都試圖聲明相同的 192.168.xx IP 位址...

我在路由器的公共端,所以無法直接連接到電腦。因此 PsExec 或 WMI 將不起作用。

這是你的第一個問題。您需要進入每個網路的「內部」。聽起來遠端 PC 位於某種防火牆 NAT 後面,這會造成各種麻煩。從技術上講,“在完美的世界中”,您的伺服器應該與客戶端位於同一網路上。客戶端是否透過 VPN 連線?如果是這樣,那將是您「入場」的門票。

我認為我唯一的選擇是以某種方式使用 GPO,也許可以安排任務從網路磁碟機執行腳本。

如果您建立的 GPO 在使用者登入時套用,則這可能是一個問題,因為您說過您不希望在使用者登入電腦時發生這種情況。


很抱歉冒犯您,但考慮到問題的性質,我必須問(如果您願意回答):為什麼需要這樣做?託管網路不會以這種瘋狂的方式配置,坦白說,從我的角度來看,似乎您希望對這些內部網路進行某種破壞。

相關內容