22

我正在创建一个脚本,该脚本将触发性能计数器并将它们存储在 .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 参数来指定要运行的文件。

4

2 回答 2

38

从 DOS/CMD shell 试试这个:

powershell.exe -windowstyle hidden -file C:\iis_test.ps1
于 2013-04-30T15:28:36.070 回答
9
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
于 2013-10-24T05:30:06.403 回答