為了方便管理員進行先期技術預覽和測試,微軟在 Microsoft Azure 平台也早已上線了 Nano Server 的部署映像,本人我們就對如何在 Microsoft Azure 部署 Nano Server 並使用 PowerShell 進行遠程管理進行一些簡單介紹。
Microsoft Azure部署Nano Server
現在開始,我們在 Azure VM 中部署一台 Nano Server。(前提你需要有 Azure 訂閱,如果沒有的話大家可以申請免費試用,申請地址:https://azure.microsoft.com/en-us/pricing/free-trial/。)
1.登錄 Microsoft Azure Portal — 點擊新建 — 搜索 Nano — 找到 Windows Server 2016 Nano Technical Preview 4映像
2.部署模式大家可以自行選擇經典或最新的 ARM 模式
3.配置好虛擬機的大小和數據中心後點擊創建即可。默認該虛擬機會自動打開 PowerShell 的 5986 遠程管理端口和 RDP 的 3389 端口。
在虛擬機開始創建之後,需要等幾分鐘讓 Microsoft Azure 為我們部署出這台虛擬機,當該虛擬機的狀態為「正在運行」時即可遠程管理了。
使用PowerShell遠程連接到Nano Server
雖然 Azure 默認已經幫我們打開了 RDP 3389,但因為 Nano Server 不支持終端服務器角色,所以無法通過遠程桌面連接到虛擬機上。不過,Nano Server 支持 PowerShell Remoting。在支持 PowerShell cmdlets 之前,你需要先安裝 Azure PowerShell module。
在本地的管理端上,使用管理員權限打開 PowerShell 並使用 WinRM 命令將我們新創建的 Azure Nano VM (公網 DNS 名稱)添加到 WinRM TrustedHosts 列表當中(如果管理端和被管理服務器不在相同的域中,需要使用此種方式來進行身份驗證)。
Start-Service WinRM
Set-Item wsman:localhostClientTrustedHosts “fl-nano.cloudapp.net” -Concatenate –Force
注意:DNS 名稱要換成你自己在 Microsoft Azure 中部署的 Nano Server DNS 名稱。
如果你要查看 WinRM TrustedHosts 列表,可以使用如下命令:
Get-Item wsman:localhostClientTrustedHosts
至此,大家可以參考如下 PowerShell 來遠程連接到 Azure 中的 Nano Server:
$serviceName = ‘fl-nano’
$vmName = ‘fl-nano’
$subName = ‘Azure Pass’
Add-AzureAccount
Select-AzureSubscription –SubscriptionName $subName
$myVM = Get-AzureVM -ServiceName $serviceName -Name $vmName
$WinRMCertificateThumbprint = ($myVM | Select-Object -ExpandProperty VM).DefaultWinRMCertificateThumbprint
(Get-AzureCertificate -ServiceName $serviceName -Thumbprint $WinRMCertificateThumbprint -ThumbprintAlgorithm SHA1).Data | Out-File "${env:TEMP}cert.tmp"
Import-Certificate -Filepath "$env:TEMPcert.tmp" -CertStoreLocation 'Cert:CurrentUserRoot'
Remove-Item "$env:TEMPcert.tmp"
$uri = Get-AzureWinRMUri –Service $serviceName –Name $vmName
$cred = Get-Credential
Enter-PSSession -ConnectionUri $uri -Credential $cred
上述腳本裡面的 VM 名稱及 Azure 訂閱名稱需要改成你自己的,當憑據對話框出現時,輸入創建 Nano Server 時指定的用戶名和密碼點擊確定即可。