gpt4 book ai didi

powershell - Azure 自定义脚本扩展任务不在后台运行

转载 作者:行者123 更新时间:2023-12-03 03:15:57 30 4
gpt4 key购买 nike

我正在使用 Azure 自定义脚本扩展来自动部署 Azure VM。在一种情况下,我正在安装 XAMPP 并配置各种服务,但是在安装完所有内容后,apache 进程不再运行。如果我登录到机器并手动启动该进程,它运行得很好。

这是我用来启动安装和配置 XAMPP 的 powershell 脚本的脚本

$password =  ConvertTo-SecureString "password" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential("$env:COMPUTERNAME\username", $password)
$command = $file = $PSScriptRoot + "\WebServerSetup.ps1"
Enable-PSRemoting –force
Invoke-Command -FilePath $command -Credential $credential -ComputerName $env:COMPUTERNAME
Disable-PSRemoting -Force

设置网络服务器的脚本相当长,但这是我启动 Apache 服务的地方

Start-Process c:\xampp\apache_stop.bat  

Start-Sleep -Seconds 15

Start-Job c:\xampp\apache_start.bat

运行自动化脚本后,所有配置均已完成,但进程未运行...如果我手动运行命令,它就可以正常工作。我认为问题是因为 bat 文件想要在自己的窗口中运行,所以我尝试了“xampp_start.exe”,它不会打开新窗口,结果是相同的。

最佳答案

问题似乎是 Invoke-Command 在命令执行后自动关闭从其 session 启动的所有进程。

所以简单的解决方案应该是:

不要使用 Invoke-Command 启动您的 powershell 脚本。

如果您必须提供凭据,请尝试以下操作:

Start-Process powershell -ArgumentList "$command" -Credential $credential

否则只需运行脚本:

$command

关于powershell - Azure 自定义脚本扩展任务不在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489507/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com