
Set up PowerShell Script for Automatic Execution我想将几行PowerShell代码用作自动化脚本。 我希望它能够工作的方式是能够使用以下选项之一进行调用: 我一直在在线浏览PowerShell文档,尽管我可以找到很多脚本,但是却找不到有关如何执行所需操作的说明。 谢谢您的帮助。 从http://blogs.msdn.com/b/jaybaz_ms/archive/2007/04/26/powershell-polyglot.aspx 如果您愿意用一些CMD来替换漂亮的PowerShell脚本,则可以使用PowerShell-CMD多语言技巧。将PowerShell脚本另存为.CMD文件,并将此行放在顶部:
如果需要支持带引号的参数,则可以使用更长的版本,该版本还允许注释。 (请注意双@的不寻常的CMD评论技巧)。
将脚本另存为.ps1文件,然后使用powershell.exe启动它,如下所示:
确保指定脚本的完整路径,并确保将执行策略级别设置为至少" RemoteSigned",以便可以运行未签名的本地脚本。 Matt的答案来源。 通过创建包含以下内容的批处理文件,双击文件即可运行它:
从另一个脚本(例如批处理文件)自动运行脚本 正如Matt Hamilton建议的那样,只需创建您的PowerShell .ps1脚本并使用以下命令进行调用:
或者,如果批处理文件的工作目录与PowerShell脚本所在的目录相同,则可以使用相对路径:
在此操作生效之前,您需要设置PC的执行策略,下面将说明如何执行。 手动运行脚本方法1 您可以查看我的博客文章以获取更多信息,但实际上是创建PowerShell .ps1脚本文件来执行所需的操作,然后在同一目录中创建.cmd批处理文件,并将以下内容用作文件的内容:
用您的PowerShell脚本的文件名替换第3行上的MyPowerShellScript.ps1。 这样一来,您只需双击批处理文件即可运行PowerShell脚本,并且避免您必须更改PowerShell执行策略。 我的博客文章还显示了您需要做的如何以管理员身份运行PowerShell脚本。 手动运行脚本方法2 或者,如果您不想为每个PowerShell脚本创建批处理文件,则可以将默认PowerShell脚本行为从"编辑"更改为"运行",从而允许您双击.ps1文件来运行它们。 您还需要修改其他注册表设置,以便可以运行文件路径包含空格的脚本。我在这篇博客文章中展示了如何做这两个事情。 但是,使用这种方法,您首先需要设置执行策略以允许运行脚本。您每台PC只需执行一次此操作,就可以通过在PowerShell命令提示符下运行此行来完成。
Set-ExecutionPolicy RemoteSigned -Force是实际更改执行策略的命令。这会将其设置为RemoteSigned,因此您可以根据需要将其更改为其他名称。另外,此行将自动为您以管理员身份运行PowerShell,这是更改执行策略所必需的。
您可以使用以下命令: |