私は powershell を初めて使用し、Bamboo で Windows サービスを QA サーバーに展開するために使用するスクリプトを作成しています。これまでのところ、私はこれを持っています:
$serviceName = '${bamboo.ServiceName}'
$exePath = "path to executable on QA server"
$username = "username"
$password = convertto-securestring -String "password" -AsPlainText -Force
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$existingService = Get-WmiObject -Class Win32_Service -Filter "Name = '$serviceName' "
$MSDeploy = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
invoke-command -ComputerName [COMPUTER] -Credential $credentials -scriptblock { [STATEMENT TO EXECUTE] }
if($existingService)
{
" '$serviceName' currently exists, stopping service now."
Stop-Service $serviceName
"Waiting 5 seconds for service to stop"
Start-Sleep -s 5
$existingService.Delete()
"Waiting 5 seconds for service to uninstall"
Start-Sleep -s 5
}
新しいサービスをインストールする必要があることはわかっており、$MSBuild 変数を使用してインストールする予定でしたが、$exepath 変数も最後に追加する必要がありますか? それとも、現在のサービスを再インストールするだけですか?