为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不显示窗口的情况下运行PowerShell脚本?

/ 猿问

如何在不显示窗口的情况下运行PowerShell脚本?

FFIVE 2019-10-25 12:58:43

如何在不向用户显示窗口或任何其他标志的情况下运行PowerShell脚本?


换句话说,脚本应在后台安静地运行,而不会给用户任何标志。


不使用第三方组件的答案的额外功劳:)


查看完整描述

3 回答

?
天涯尽头无女友

您可以像这样运行它(但是会显示一个窗口):


PowerShell.exe -windowstyle hidden { your script.. }

或者您使用我创建的帮助程序文件来避免名为PsRun.exe的窗口执行此操作。您可以下载源文件和exe文件,并在PowerShell中使用WinForm GUI运行计划的任务。我将其用于计划任务。


编辑:正如Marco所指出的,此-windowstyle参数仅适用于V2。



查看完整回答
反对 回复 2019-10-25
?
慕容708150

您可以使用PowerShell社区扩展,并执行以下操作:


start-process PowerShell.exe -arg $pwd\foo.ps1 -WindowStyle Hidden

您也可以使用VBScript执行此操作:http : //blog.sapien.com/index.php/2006/12/26/more-fun-with-scheduled-powershell/


计划隐藏的PowerShell任务(Internet存档)


计划内的PowerShell带来更多乐趣(Internet存档)


查看完整回答
反对 回复 2019-10-25
?
墨色风雨

这是一种不需要命令行参数或单独启动器的方法。它不是完全不可见的,因为启动时窗口确实会瞬间显示。但是它很快就消失了。我认为,这是最简单的方法,如果您想通过双击资源管理器或通过“开始”菜单快捷方式(当然包括“启动”子菜单)来启动脚本。我喜欢它是脚本本身代码的一部分,而不是外部代码。


将其放在脚本的前面:


$t = '[DllImport("user32.dll")] public static extern bool ShowWindow(int handle, int state);'

add-type -name win -member $t -namespace native

[native.win]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle, 0)


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 158 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信