繁体   English   中英

在 Windows 上从 Powershell 创建启动脚本

[英]Create a startup script from Powershell on windows

我正在开发我正在开发的某些软件的安装脚本。 在远程服务器上安装软件需要在每次启动时运行特定的启动脚本。

我正在编写一个 powershell 脚本,所以我正在寻找一种从 powershell 创建启动脚本的方法 我已经准备好执行批处理文件 我只需要在远程服务器的每次启动时运行它

我在谷歌上找不到任何资源,所以我在这里问是否有人能达到这样的结果

这是您可以使用 powershell 创建启动脚本的方法之一。 这将创建一个启动脚本。 每次重新启动机器时,脚本都会执行

$TaskAction1 = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\scripts\Config.ps1"
$TaskTrigger = New-ScheduledTaskTrigger -AtStartup
$TaskPrincipal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -Action $TaskAction1 -Trigger $TaskTrigger -Principal $TaskPrincipal -TaskName "Config" -Description "Config Script"

您可以使用以下代码从 PowerShell 启动命令过程。 用您自己的信息替换路径和文件。

C:Pathfile.bat

调用批处理文件后,您可以根据手头的任务对其进行自定义。 例如…

如果要捕获 .bat 文件的输出,可以使用:

$out = C:Pathfile.bat

如果要使用 .bat 文件启动进程,可以使用 PowerShell start-process cmdlet:

start-process C:Pathfile.bat

而且,如果你想控制 cmd.exe,你可以使用这个:

start-process "cmd.exe" "/c C:Pathfile.bat"

start-process cmdlet 是标准的 PowerShell cmdlet,因此任何人都可以使用它。 JAMS 用户会定期利用它,并将其与我们的 PowerShell 管理单元中的 JAMS 特定 cmdlet 结合使用,以将智能自动化添加到批处理文件中。

把它放在这个路径中:

C:\Users\<user_name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\startup.cmd

要在每次启动远程服务器时运行脚本,请在远程服务器上执行以下设置。

  1. 打开任务计划程序(Win+R 并输入命令“%windir%\\system32\\taskschd.msc /s”
  2. 操作 --> 创建任务
  3. 在“常规”选项卡中选择所需的选项
  4. 单击“触发器”--> 新建--> 开始任务:从下拉列表中选择“启动时”。
  5. 单击“操作”--> 新建--> 操作:“启动程序”--> 设置:脚本的路径。

要配置第 5 点,您可以在 google 上寻求帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM