के अंदर चलाया जाता है, मैं 48 कंप्यूटरों की सूची में एक cmd फ़ाइल निष्पादित करने का प्रयास कर रहा हूं। मैं निष्पादित नहीं करना चाहता हूं और अनुक्रमिक रूप से पूरा होने की प्रतीक्षा कर रहा हूं क्योंकि प्रत्येक cmd को पूरा होने में लगभग 10 मिनट लगते हैं। WinRM एक विकल्प नहीं है। न तो डब्ल्यूएमआई है। PSExec एक विकल्प है .... लेकिन मैं इसे स्टार्ट-जॉब के अंदर काम नहीं कर सकता।पीएसईएक्सईसी कभी भी पूरा नहीं होता है जब स्टार्ट-जॉब
मैं की तरह कुछ कर रहा हूँ:
$sb = {
param
(
$computer = "serverw01",
$userid = "domain2\serviceid",
$password = 'servicepw',
$command = "cd /d d:\ && updateAll.cmd"
)
d:\eps\pstools\PsExec.exe -u $userid -p $password "\\$($computer)" cmd /c $command
}
foreach ($computer in Get-Content "D:\Data\serverlist.txt") {
Start-Job $sb -ArgumentList $computer
}
यह नौकरियों का एक समूह बनाता है .... लेकिन कभी पूरा और अगर मैं उनमें से किसी पर प्राप्त करें-नौकरी मैं वापस
PS> get-job | receive-job -Keep
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
मिल
तब भी वह अच्छे कार्यान्वित अगर मैं की तरह समारोह चलाएँ:
& $sb -computer "serverw01"
शुरुआत स्क्रिप्ट सेर पर Powershell v2.0 में चलाया जाता है ver 2008r2 बॉक्स मैंने डोमेन व्यवस्थापक उपयोगकर्ता (उसी परिणाम) के साथ लॉग इन करते समय डोमेन 2 में एक बॉक्स पर इसे आजमाया है।
धन्यवाद-आप लिज़। उत्तर कंप्यूटर मान का प्लेसमेंट प्रतीत होता है। मैंने इसे डीडी और/एसीप्टेला के साथ और बिना कोशिश की (मैंने लंबे समय से स्वीकार किया है eula :)) और सक्षम कारक यह सुनिश्चित कर रहा था कि कम्प्यूटनाम मान PSEXEC के बाद पहला मान था। –