2013-03-01 31 views
0

WMI查詢運行135端口(從谷歌告訴我)。您可以在嘗試執行WMI查詢時指定其他端口嗎?在powershell中調用WMI時指定端口?

或者,您可以使用system.managment.managementScope對象並在連接時指定端口嗎?也許是這樣的:

\\computername:port\root\cimv2\ 

如果回答這兩個是「否」,則可以連接您的不同方式,一旦連接,運行WMI查詢?

之所以有這樣的問題:

我有一個混合的環境,我需要查詢一些防火牆後面的服務器。我無法爲WMI查詢指定超時值,因此我需要一種連接到這些框但沒有新的防火牆規則的方法。

+0

http://blogs.technet.com/b/ashleymcglone/archive/2011/04/18/powershell-remoting-exposed-how-to-command-your-minions.aspx有些幫助。 – Jeff 2013-03-01 22:42:15

+0

我發現這個:http://msdn.microsoft.com/en-us/library/windows/desktop/bb219447(v=vs.85).aspx但我不知道這是否在主機或遠程機器上。 – Jeff 2013-03-01 23:15:32

回答

1

WMI使用端口135進行協商,然後DCOM選擇1024和65535之間的隨機端口。使固定端口變得很難。對於防火牆不太友好......

作爲來自Jeff的評論,上面說過,您必須告訴您要連接的計算機,以限制它所使用的端口。

在Windows Server 2003中,您無法限制所選的端口,因此對於那些在該服務器上運行我的腳本,然後將結果推回到已知端口上的人。由於所有信息都存儲在數據庫中,因此我的腳本使用標準SQL端口。

對於windows server 2008 R2,您可以限制它使用的端口,這可以通過在每臺服務器上運行以下命令來完成;

  1. 在命令提示符下,鍵入Winmgmt的一個新的服務主機-standalonehost
  2. 通過鍵入命令淨停止「Windows管理規範」
  3. 重新啓動停止WMI服務再次WMI服務 通過鍵入網絡啓動「Windows Management Instrumentation」
  4. 通過鍵入netsh fire爲WMI服務建立一個新的端口號牆加 portopening TCP 24158 WMIFixedPort

步驟和詳細信息可以在這裏找到(傑夫給): Setting Up a Fixed Port for WMI

它不是最好的解決辦法,但唯一一個我知道的,我一直在現在爲很長時間構建大型服務器環境的腳本。我一直處理它的方式是在每個位置都有一個腳本(DMZ等),然後將數據推回到已知的端口上。

我希望你覺得這個很有用。