我使用 powershell.exe 作为程序并使用“ -Command "& C:\Windows\logon.ps1; exit $LASTEXITCODE"; ExecutionPolicy RemoteSigned
”作为参数,但它似乎不起作用。
我想要的一些事情:
在任务计划程序中获取结果,以便我知道一切是否正常或是否有错误
将脚本的输出放入 output.txt 文件中(增量文件可以吗?)
隐藏运行脚本
答案1
我不知道您是否忘记了问题中的 - 但它是-ExecutionPolicy
。如果该脚本未签名,则它也不会执行该脚本,您可以将其用作bypass
执行策略来排除这种情况。
我怀疑您是否可以在命令行中连续运行脚本和命令。将 添加exit $LASTEXITCODE
到脚本中,然后使用 运行它-File C:\script.ps1
。
如果隐藏运行你的意思是没有控制台窗口,我通常这样调用我的脚本
powershell.exe -noprofile -executionpolicy bypass -file C:\script.ps1
却永远看不到窗户。
要将脚本的输出放入文件中,请将命令导入Tee-Object
"Hello World" | Tee-Object C:\output.file
您可以随意命名文件,在脚本中实现逻辑以使文件名递增,或者 - 我个人最喜欢的 - 在文件名中使用 YYYYMMddhhmmss。
更新
另外,取自Microsoft 的 Technet 页面在 Powershell 上:
脚本块必须用括号 ({}) 括起来。您可以仅在 Windows PowerShell 中运行 PowerShell.exe 时指定脚本块. 脚本的结果作为反序列化的 XML 对象而不是活动对象返回到父 shell。
如果 Command 的值是字符串,命令必须是命令中的最后一个参数,因为在命令后输入的任何字符都将被解释为命令参数。