对于 Azure VM,使用 PowerShell Remoting(不要与 RDP 混淆)看起来完全可行:
PowerShell Remoting 需要正确的网络配置以允许远程连接。由于我们将通过 Web 访问 VM,因此我们需要使用 HTTPS 来保护通信通道。跳过 PowerShell Remoting 使用的 Windows 远程管理的详细信息,我只会说默认的 HTTPS 端口是 5986。
要允许连接到 VM,必须将此端点添加到 ServiceDefinition.csdef:
<endpoints>
<inputendpoint localport="5986" port="5986" protocol="tcp" name="WinRM" />
</endpoints>
打开正确的端口后,只需启用 PowerShell Remoting。在启用它之前需要解决两个问题。
首先是使用正确的用户帐户来设置远程处理。您必须使用之前创建的帐户来运行脚本来设置 Remoting[1]。使用这些命令,您之前创建的用户将执行脚本 e:\approot\StartRemotingListener.ps1:
schtasks /CREATE /TN "StartRemotingListener" /SC ONCE /SD 01/01/2020 /ST 00:00:00
/RL HIGHEST /RU <username> /RP <password>
/TR "powershell -ExecutionPolicy unrestricted
-Command e:\approot\StartRemotingListener.ps1 -Force" /F
schtasks /RUN /TN "StartRemotingListener"
第二个问题是配置 HTTPS 连接所需的证书。获取证书对于生产环境可能不是问题。您可能已经为您的服务提供了一个并且可以重复使用它。如果您的服务在正常操作或非生产环境中不需要证书,则可能会出现问题。
来自:http: //blogs.msdn.com/b/mariok/archive/2011/08/08/command-line-access-to-azure-vms-powershell-remoting.aspx