我正在做一个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中有一个启动脚本。