如何在Azure VM上验证Azure Powershell

如何在Azure VM上验证Azure Powershell,powershell,azure,azure-virtual-machine,azure-powershell,Powershell,Azure,Azure Virtual Machine,Azure Powershell,我想从Azure VM执行Powershell脚本,以获取其当前公共IP地址(并将此地址写入应用程序要使用的环境变量) 我的问题是认证Azure Powershell环境的最佳方式是什么?在AWS上,在创建实例时将凭据“烘焙”到实例中。Azure虚拟机是否也会出现类似情况 您可以使用文件中包含的管理证书,然后自己“烘焙”它 Import-AzurePublishSettingsFile –PublishSettingsFile C:\Store\my.publishsettings 如果您已经

我想从Azure VM执行Powershell脚本,以获取其当前公共IP地址(并将此地址写入应用程序要使用的环境变量)


我的问题是认证Azure Powershell环境的最佳方式是什么?在AWS上,在创建实例时将凭据“烘焙”到实例中。Azure虚拟机是否也会出现类似情况

您可以使用文件中包含的管理证书,然后自己“烘焙”它

Import-AzurePublishSettingsFile –PublishSettingsFile C:\Store\my.publishsettings
如果您已经拥有用于管理的证书,则可以将其存储在vm和PS中


您是否将此脚本作为部署的一部分运行?还是在部署完成之后?如果是前者,您可以通过KeyVault将creds传递到部署中…这是一台测试机器,计划每晚停止,然后每天早上再次启动。我想在启动时运行这个脚本(因为将分配一个新的IP地址)。好的,有两个选项可能适合您-1)使用AzureAutomation运行手册按计划启动和停止,这里有一些示例运行手册:和:或2)当您配置VM时,通过KeyVault传入您希望用于在本地运行脚本的凭据-#1似乎是适合您场景的更好解决方案。
# Get management certificate from personal store
$certificate = Get-Item cert:\\CurrentUser\My\$CertificateThumbprint
if ($certificate -eq $null) {
throw “Management certificate for $SubscriptionName was not found in the users personal certificate store. Check thumbprint or install certificate”
}

# Set subscription profile
Set-AzureSubscription -SubscriptionName $SubscriptionName -SubscriptionId $SubscriptionId -Certificate $certificate

# Select subscription as the current context
Select-AzureSubscription -SubscriptionName $SubscriptionName