microsoft management azurermaccount powershell azure remote-access

powershell - management - portal login azure



¿Cómo se conecta a una máquina virtual Azure Windows y ejecuta una secuencia de comandos remota con PowerShell? (1)

Estoy familiarizado con envs de Linux y el uso de SSH para ejecutar scripts y programas remotos y scripts automáticos desde mi escritorio.

Me gustaría tener un flujo de trabajo similar con las máquinas virtuales de Windows que tengo en mi cuenta de Azure. Sin embargo, no puedo encontrar instrucciones directas sobre cómo construir mis scripts locales de PowerShell.

Solo necesito conectarme a una máquina virtual y llamar algunas secuencias de comandos dentro de ella.

Lo mejor que pude encontrar fue esta guía de MS https://docs.microsoft.com/en-us/azure/virtual-machines/windows/winrm

O esta es una publicación de blog un poco más antigua.

http://fabriccontroller.net/using-remote-powershell-with-windows-azure-virtual-machines/


De acuerdo con su descripción, podemos usar New-Pssession para ejecutar el script para detener / iniciar el servicio, así:

$username = ''jason'' $pass = ConvertTo-SecureString -string ''password'' -AsPlainText -Force $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass $s = New-PSSession -ConnectionUri ''http://23.99.82.2:5985'' -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck) Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell}

Resultado como este:

De otra forma, podemos usar la extensión de script personalizada de Azure para ejecutar el script, podemos cargar el script a la cuenta de almacenamiento de Azure y usar Set-AzureRmVMCustomScriptExtension para establecer un script personalizado:

PS C:/> Set-AzureRmVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -Location "Central US" -VMName "VirtualMachine07" -Name "ContosoTest" -TypeHandlerVersion "1.1" -StorageAccountName "Contoso" -StorageAccountKey <StorageKey> -FileName "ContosoScript.exe" -ContainerName "Scripts"

Pero las secuencias de comandos personalizadas solo se pueden ejecutar una vez, si desea volver a ejecutar esta secuencia de comandos, debemos eliminarla con este comando Remove-AzureRmVMCustomScriptExtension , y luego volver a establecerla. Para obtener más información acerca de la extensión de scripts personalizados de Azure, consulte este enlace .