簡體   English   中英

如何在不顯示窗口的情況下將Powershell腳本作為后台任務運行?

[英]How can I run a powershell script as a background task without displaying a window?

我正在創建一個腳本,該腳本將觸發性能計數器並將其存儲在.csv文件中,並在文件太大時滾動。 從powershell提示符或ISE(我正在運行v.2 / win Server 2008)運行腳本可以正常工作,並且文件運行正常。

但是,當我嘗試使用以下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參數來指定要運行的文件。

從DOS / CMD shell嘗試一下:

powershell.exe -windowstyle hidden -file C:\iis_test.ps1
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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM