PowerShell 新手,
背景關系:嘗試使用 PowerShell 從 Azure Pipeline執行ShellScript駐留在AzureVM(作業系統型別 Linux)中的檔案。
腳本示例:
function getConnectionToRemoteMachine ($AzuresecretValue,$AzureApplicationID,$AzureObjectID,$AzureDirectoryID,$AzureUserName,$AzureSubscriptionID) {
$password = ConvertTo-SecureString $AzuresecretValue -AsPlainText -Force;
$VMResourceGroup = "npd-test-rg01";
#Connecting to the Azure VM using the Service Principle
$pscredential = New-Object -TypeName System.Management.Automation.PSCredential($AzureApplicationID, $password);
Connect-AzAccount -ServicePrincipal -Tenant $AzureDirectoryID -Credential $pscredential | Out-null;
$VMList = Get-AzVm -ResourceGroupName $VMResourceGroup -Status;
ForEach($VM in $VMList) {
if ($VM.Name -eq "npd-test-app01"){
Write-Host "Test Machine traced!!!"
}
else {
continue;
}
}
}
function triggerShellScript () {
$AzuresecretValue = "<AzureSecret>";
$AzureApplicationID = "<AzureApplicationID>";
$AzureObjectID = "<AzureObjectID>";
$AzureDirectoryID = "<AzureDirectoryID>";
$AzureUserName = "SVCUSER";
$AzureSubscriptionID = "<AzureSubscriptionID>";
getConnectionToRemoteMachine $AzuresecretValue $AzureApplicationID $AzureObjectID $AzureDirectoryID $AzureUserName $AzureSubscriptionID
}
triggerShellScript
能夠跟蹤VM,但不知道如何連接到機器并觸發下的shell腳本 /home/TestRun/TriggerTest.sh
uj5u.com熱心網友回復:
可以使用 Azure Cloud Shell 在 OS Linux 中運行 Shell 腳本。
步驟 1:script.sh使用命令創建一個檔案code script.sh并粘貼命令并保存并關閉編輯器。
![如何使用服務主體詳細資訊連接到 Azure VM [Linux 型別] 以執行腳本 (sh) 檔案](https://img.uj5u.com/2021/12/25/77c32e9bbfe3478bb6191688733f0746.png)
第 2 步:使用以下命令在您的 VM 中運行上述腳本。
Invoke-AzVMRunCommand -ResourceGroupName '<myResourceGroup>' -Name '<myVMName>' -CommandId 'RunShellScript' -ScriptPath '<pathToScript>'
![如何使用服務主體詳細資訊連接到 Azure VM [Linux 型別] 以執行腳本 (sh) 檔案](https://img.uj5u.com/2021/12/25/bd168517c7c841c2bba04bfdba4b0f74.png)
參考:https ://docs.microsoft.com/en-us/azure/virtual-machines/linux/run-command
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/392517.html
