我已成功将多个 Azure 虚拟机部署到 Azure 资源组。也就是说,我正在使用新的 Azure Resource Manager部署模型,用于通过 JSON 模板部署虚拟机和相关资源。
我的问题是如何从我的笔记本电脑针对这些虚拟机执行远程 PowerShell 脚本。我已经浏览了很多文章 - 但它们都展示了如何使用 Azure 中的经典虚拟机来实现这一点。我已经知道并成功使用了这一点。
现在,在使用 Azure 资源管理器创建的 Azure VM 上默认启用证书的 SSL 远程 PowerShell 是否已启用?如何与 Enter-PSSession 或 Invoke-Command 连接?
最佳答案
这适用于现有计算机:确保您的虚拟机通过 NIC 设置具有公共(public) IP。接下来,如果您要使用笔记本电脑,请确保您的防火墙对公共(public)流量开放。这可以通过一个简单的 netsh 命令来完成:
netsh advfirewall firewall add rule name="WinRM HTTP" dir=in action=allow protocol=TCP localport=5985 profile=public
打开公共(public) IP 和防火墙后,您可以使用以下命令进入 WinRM session :
$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
关于powershell - 远程 PowerShell 到 AzureRM 虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33898229/