2013-04-30 22 views
11

我正在創建一個腳本,它會觸發性能計數器並將它們存儲在.csv文件中,當文件變得太大時將滾動。從powershell提示符或ISE運行腳本(我正在運行v.2/win server 2008)工作得很好,文件正常運行。如何在不顯示窗口的情況下將PowerShell腳本作爲後臺任務運行?

但是,當我嘗試使用以下cmd提示行(甚至嘗試在cmd上的/ k開關)執行命令時,命令提示符立即關閉,文件未運行。

powershell.exe -windowstyle hidden {iis_test.ps1} 

我也試過以下,雖然我看到PowerShell不會停止(我通過任務管理器監視它,尋找Powershell.exe展現出來),我沒有看到該文件是創建。

powershell.exe -noexit -windowstyle hidden {iis_test.ps1} 

我也沒有看到任何可能出現的錯誤(事件查看器,命令提示符窗口本身)。

任何想法?最終,我的目標是讓一個vb winforms的東西調用這些腳本文件,自然我認爲找出命令提示符命令會有所幫助。 注意這個腳本是可移植的,並且可以在任何Windows 2008 Server系統上運行(所以我需要遠離需要進一步安裝的第三方實體),這一點非常重要。

編輯:我需要使用-file參數指定要運行的文件。

回答

14

試試這個從DOS/CMD殼:

powershell.exe -windowstyle hidden -file C:\iis_test.ps1 
+2

這是行得通!我也發現你的答案前約5秒鐘。謝謝! – 2013-04-30 15:32:54

+1

這仍然會顯示一個窗口,儘管在啓動時會短暫顯示 – Sajuuk 2017-09-19 02:18:26

5
Powershell.exe -windowstyle hidden -file C:\iis_test.ps1 

但是,當您運行此命令,將出現一個CMD窗口。
但是,您可以使用VBscript代替

Set objShell = CreateObject("WScript.Shell") 
objShell.Run "CMD /C START /B " & objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\System32\WindowsPowerShell\v1.0\powershell.exe -file " & "YourScript.ps1", 0, False 
Set objShell = Nothing 
相關問題