आम तौर पर, आंतरिक आदेशों के लिए PowerShell अगली कमांड शुरू करने से पहले प्रतीक्षा करता है। इस नियम का एक अपवाद बाहरी Windows सबसिस्टम आधारित EXE है। पहली चाल पाइप लाइन को Out-Nullपसंद करने के लिए है:
Notepad.exe | Out-Null
PowerShell प्रतीक्षा करेगी जब तक कि Notepad.exe प्रक्रिया जारी रखने से पहले बाहर नहीं हो जाती। यह निफ्टी है लेकिन कोड पढ़ने से लेने के लिए सूक्ष्म है। आप स्टार्ट-प्रोसेस का उपयोग -Wit पैरामीटर के साथ भी कर सकते हैं:
Start-Process <path to exe> -NoNewWindow -Wait
यदि आप PowerShell सामुदायिक एक्सटेंशन संस्करण का उपयोग कर रहे हैं, तो यह है:
$proc = Start-Process <path to exe> -NoNewWindow -PassThru
$proc.WaitForExit()
PowerShell 2.0 में एक अन्य विकल्प पृष्ठभूमि नौकरी का उपयोग करना है:
$job = Start-Job { invoke command here }
Wait-Job $job
Receive-Job $job