我已成功将多个Azure虚拟机部署到Azure资源组。也就是说,我正在使用新的Azure Resource Manager部署模型从JSON模板部署虚拟机和相关资源。
我的问题是如何从我的笔记本电脑对这些虚拟机进行远程PowerShell脚本编写。我已经梳理了很多文章 - 但他们都展示了如何使用Azure中的经典虚拟机。我已经知道并成功使用了它。
现在,远程PowerShell是否通过SSL在Azure资源管理器创建的Azure VM上默认启用了证书?如何连接Enter-PSSession或Invoke-Command?
答案 0 :(得分:4)
这适用于现有计算机:确保您的VM通过NIC设置具有公共IP。接下来,如果您要使用笔记本电脑,请确保您的防火墙对公共流量开放。这可以通过简单的netsh命令完成:
netsh advfirewall firewall add rule name="WinRM HTTP" dir=in action=allow protocol=TCP localport=5985 profile=public
打开公共IP和防火墙后,您可以使用以下命令输入WinRM会话:
$username = '<admin-user>'
$pass = ConvertTo-SecureString -string '<password>' -AsPlainText -Force
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass
Enter-PSSession -ComputerName <public-IP> -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
注意:默认情况下,应该在您的计算机上设置和监听HTTP上的WinRM和监听器。 HTTPS未启用,因为它不清楚从何处获取证书。但是,WinRM使用消息级加密,因此它不完全是纯文本。您可以通过以下方式进行验证:
winrm e winrm/config/listener
应该向听众展示如下内容:
Listener [Source="GPO"]
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 1.1.1.1
答案 1 :(得分:0)
您还可以使用此处的快速入门模板:https://github.com/Azure/azure-quickstart-templates/tree/4b529b00eec1a48748e2f1ea0f305c0f07c87253/undefined。如果虚拟机已存在,则可以从同一位置手动复制某些文件和脚本。我在此处添加了说明:http://blog.ricardovillalobos.com/?p=1871