私は約280のXenAppサーバーをクエリしています。ここに私の質問です。WMIクエリが長くかかる
$bootupMemory = gwmi -Query "SELECT * FROM Win32_OperatingSystem" -ComputerName $srv
#$cpuLoad = gwmi -Query "SELECT * FROM Win32_Processor" -ComputerName $srv
#$tSessions = gwmi -Query "SELECT * FROM Win32_TerminalService" -ComputerName $srv
$ima = gwmi -Query "SELECT * FROM Win32_Service WHERE name='imaservice'" -ComputerName $srv
$mfcom = gwmi -Query "SELECT * FROM Win32_Service WHERE name='mfcom'" -ComputerName $srv
$ctxPrintMgr = gwmi -Query "SELECT * FROM Win32_Service WHERE name='cpsvc'" -ComputerName $srv
$msmqstatus = gwmi -Query "SELECT * FROM Win32_Service WHERE name='msmq'" -ComputerName $srv
$cDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid='c:'" -ComputerName $srv
$dDrive = gwmi -Query "SELECT * FROM Win32_Logicaldisk WHERE deviceid='d:'" -ComputerName $srv
$loginStatus = gwmi -Query "SELECT loginsenabled, numberofsessions FROM Metaframe_Server" -Namespace root\citrix -ComputerName $srv
$load = gwmi -Query "SELECT * FROM Metaframe_Server_loadlevel" -Namespace root\citrix -ComputerName $srv
これが最適かどうか、または最適化することができますか? 各クエリにタイムアウトパラメータを組み込む方法も説明します。これは可能ですか?
WMIは、だけそんなにあなたができることがあります。私は、この種のものをいくつかのサーバーに分散するばかばかしいシステムを持っています.100スレッドずつ実行して、妥当な時間枠で数千のサーバーからデータを取り出すことができます。あなたはスタート・ジョブと友達を見ていたのですか? –
start-job helpはどのようにして280個のすべてのサーバーで同時に実行されるのですか?また私はこれに答えるのを助けます:私のコードは、リモートファイル共有に横たわっています。開始ジョブは、各サーバー上のローカルファイルを必要とするか、リモート共有上のスクリプトを処理できますか? – user183932