在 windows 从 Powershell 创建启动脚本

Create a startup script from Powershell on windows

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

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

我在 Google 上找不到任何资源,所以我想问问是否有人可以达到这样的结果

您可以使用以下代码从 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 snap-in 中的 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. Select 'General' 选项卡中的必需选项
  4. 点击'Triggers'-->新建-->开始任务:select 'At Startup' 来自下拉列表。
  5. 单击 'Actions' --> 新建 --> 操作:'Start a Program' --> 设置:脚本路径。

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

这是使用 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"