如何在login/启动时使用Windows窗体运行PowerShell?

我正在做一个PowerShell(在Windows 7上运行),它执行映像后的一些configuration任务。

它使用Windows窗体来获得一些用户input,然后根据自己的select运行各种任务。

这在计算机在域之前运行,所以login脚本不好。

我已经尝试添加powershell c:\scripts\myscript.ps1 hklm\software\microsoft\windows\currentversion\run但它不运行。

我还将它作为一个计划启动(和login)任务,并以“最高级别的权限”添加,并作为机器pipe理员运行。

当它作为启动任务运行时,它运行脚本的第一位(它创build一个日志文件,所以我可以看到这一点),但没有窗口窗体出现。 相反,它的行为就好像用户点击了表单上的取消。 计划的任务报告错误: 0x41301 。 有一点谷歌search显示这意味着脚本仍在运行?

有没有人有如何最好地实现这一目标的任何build议?

谢谢,

使用

 powershell -File c:\scripts\myscript.ps1 

代替。

像Goyuix说,你必须使用& – 调用运算符来传递一个空间的path。

 powershell.exe -Command "& 'c:\path with space\script1.ps1' arg1" 

Powershell.exe – 与空间传递命令参数

PowerShell.exe不会将脚本名称作为命令行参数。 你需要告诉它来源脚本来运行它:

 PowerShell.exe "& 'c:\path with\spaces\script.ps1'" 

你应该这样做,在GPO中有一个启动脚本。