我有一件很奇怪的事情發生。Powershell從批處理調用時需要很多時間來執行?
如果我運行powershell.exe,然後在窗口輸入以下命令:
Measure-Command {Get-ADPrincipalGroupMembership abc00 | select "name" | out-gridview }
命令超快和需要大約2秒鐘。
現在,如果我運行從一個批處理文件,這樣同樣的事情(其中包含一個簡單的選擇菜單):
powershell.exe -command "Measure-Command {Get-ADPrincipalGroupMembership abc00 | select "name" | out-gridview}
它需要一個百日咳15秒,使得命令非常沉重和憤怒使用。
爲什麼這麼慢?難道是選擇命令還是什麼?因爲當我在一個空test.bat的運行它,它是超級快...:
powershell.exe -command "Measure-Command {Get-ADPrincipalGroupMembership abc00 | select "name" | out-gridview}
P.S:所有其他在我的批處理文件中的命令是,除了那些PowerShell的快。
非常感謝你的時間和一如既往的幫助。
更新:我試圖刪除選擇菜單entierly並將其替換爲set/p菜單,它仍然需要永久加載......這是一個奇怪的問題。
我建議您用批處理文件完全分配,只是使用PowerShell。 –
我會在'powershell.exe -NoP'之後引入'-NoProfile'或簡短的'-NoP',並使用沒有臨時vbs文件的Powershell來升級。看到我的答案。 – LotPings