我正在创建一个脚本,该脚本将触发性能计数器并将它们存储在.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参数指定要运行的文件。
答案 0 :(得分:22)
从DOS / CMD shell试试这个:
powershell.exe -windowstyle hidden -file C:\iis_test.ps1
答案 1 :(得分: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