Azure Stack Hub 操作員存取工作站
操作員存取工作站 (OAW) 可用來在 Azure Stack Hub 硬體生命週期主機 (HLH) 或任何其他執行Microsoft Hyper-V 的機器上部署虛擬機(VM)。 它需要與 Azure Stack Hub 端點的網路連接,這可用於操作員或使用者情境。
OAW VM 是非必需、可以選擇使用的虛擬機,Azure Stack Hub 運作時不需要它。 其目的是在與 Azure Stack Hub 互動時,為操作員或使用者提供最新的工具。
OAW 案例
下表列出 OAW 的常見案例。 使用遠端桌面連線到 OAW。
場景 | 描述 |
---|---|
存取系統管理員入口網站 | 執行系統管理作業。 |
存取 PEP | 記錄收集並上傳: - 在 HLH 上建立 SMB 共用,以從 Azure Stack Hub 傳輸檔。 -使用 Azure 記憶體總管上傳儲存至 SMB 共用的記錄。 |
註冊 Azure Stack Hub | 若要重新註冊,請從系統管理員入口網站取得先前的註冊名稱和資源群組。 |
市場聯播 | 在 HLH 上建立 SMB 共用,以儲存下載的映像或擴充功能。 |
建立虛擬機 | 使用 Azure CLI 建立虛擬機。 |
管理 AKS | 管理 AKS 叢集;例如,調整或升級。 |
預安裝的軟體
下表列出 OAW VM 上預安裝的軟體。
軟體名稱 | 位置 |
---|---|
Microsoft Edge 商務版 | [SystemDrive]\Program Files (x86)\Microsoft\Edge\Application |
Az Modules | [SystemDrive]\ProgramFiles\WindowsPowerShell\Modules |
PowerShell 7 | [SystemDrive]\Program Files\PowerShell\7 |
Azure Command-Line 命令列介面(CLI) | [SystemDrive]\Program Files (x86)\Microsoft SDK\Azure\CLI2 |
Microsoft Azure 記憶體總管 | [SystemDrive]\Program Files (x86)\Microsoft Azure 記憶體總管 |
AzCopy | [SystemDrive]\VMSoftware\azcopy_windows_amd64_* |
AzureStack-Tools | [SystemDrive]\VMSoftware\AzureStack-Tools |
下載檔
若要取得建立 OAW VM 的檔案,下載這裡。 下載之前,請務必先檢閱 Microsoft隱私聲明 和 法律條款。
由於解決方案的無狀態本質,OAW VM 沒有更新。 針對每個里程碑,會發行新版本的 VM 映像檔。 使用最新版本來建立新的 OAW VM。 映像檔是以最新的 Windows Server 2019 版本為基礎。 安裝之後,您可以使用 Windows Update 套用更新,包括任何重大更新。
驗證下載 OAW.zip 檔案的哈希,以確定它尚未修改,再使用它來建立 OAW VM。 執行下列 PowerShell 腳本。 如果傳回值為 True,您可以使用下載的 OAW.zip:
注意
在擷取下載之後解除封鎖腳本檔案。
param(
[Parameter(Mandatory=$True)]
[ValidateNotNullOrEmpty()]
[ValidateScript({Test-Path $_ -PathType Leaf})]
[string]
$DownloadedOAWZipFilePath
)
$expectedHash = '4B5CE0EA6FA12C4A95EBDE4223BEED5B9D98D7D9FC7DA1D5C72D3620725E5119'
$actualHash = (Get-FileHash -Path $DownloadedOAWZipFilePath).Hash
Write-Host "Expected hash: $expectedHash"
if ($expectedHash -eq $actualHash)
{
Write-Host 'SUCCESS: OAW.zip file hash matches.'
}
else
{
Write-Error "ERROR: OAW.zip file hash does not match! It isn't safe to use it, please download it again. Actual hash: $actualHash"
}
將這個腳本複製到您的環境的另一種方式是使用 azureStack-Tools 中提供的 Test-FileHash Cmdlet 來驗證 OAW.zip 檔案的哈希:
從 GitHub 下載 Test-FileHash.psm1 檔案,然後執行:
Import-Module .\Test-FileHash.psm1 -Force -Verbose
匯入 Test-FileHash 模組之後,請確認 OAW.zip 檔案的哈希:
Test-FileHash -ExpectedHash "4B5CE0EA6FA12C4A95EBDE4223BEED5B9D98D7D9FC7DA1D5C72D3620725E5119" -FilePath "<path to the OAW.zip file>"
檢查 HLH 版本
注意
此步驟對於判斷您是否在使用 Microsoft 映像或 OEM 映射部署的 HLH 上部署 OAW 很重要。 此 PowerShell Cmdlet 不存在於使用 OEM 映射部署的 HLH 上。 如果您在一般Microsoft Hyper-V 上部署 OAW,您可以略過此步驟。
使用您的認證登入 HLH。
開啟 PowerShell ISE 並執行下列腳稿:
C:\Version\Get-Version.ps1
例如:
使用腳本建立 OAW VM
下列腳本會將虛擬機準備為操作員存取工作站 (OAW),用來存取 Azure Stack Hub Microsoft。
使用您的認證登入 HLH。
下載 OAW.zip 並擷取檔案。
開啟提升許可權的 PowerShell 視窗。
流覽至 OAW.zip 檔案的擷取內容。
執行 New-OAW.ps1 文稿。
範例:使用 Microsoft 映射在 HLH 上部署
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword }
範例:使用 OEM 映射在 HLH 上部署
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword -AzureStackCertificatePath 'F:\certroot.cer' -DeploymentDataFilePath 'F:\DeploymentData.json' -AzSStampInfoFilePath 'F:\AzureStackStampInformation.json' }
如果 AzureStackStampInformation.json
檔案包含 OAW VM 的命名前置詞,該值將會用於 VirtualMachineName
參數。 否則,預設名稱會 AzSOAW
或使用者所指定的任何名稱。 如果 HLH 上不存在,AzureStackStampInformation.json
可以使用 特權端點 重新建立。
注意
只有在使用從企業證書頒發機構單位核發的憑證部署 Azure Stack Hub 時,才應該使用 參數 AzureStackCertificatePath
。 如果 DeploymentData.json
無法使用,請聯絡您的硬體合作夥伴以取得它,或在 Microsoft Hyper-V 上繼續範例部署。
範例:在Microsoft Hyper-V 上部署
執行Microsoft Hyper-V 的計算機需要四個 (4) 個核心和兩個 (2) GB 的可用記憶體。 PowerShell Cmdlet 會建立 OAW VM,而不需將IP設定套用至客體網路介面。 如果您使用範例在 HLH 上佈建 OAW,您必須設定原本由 部署 VM (DVM) 使用的 IP 位址,這通常是 BMC 網路的第二個到最後一個 IP。
例子 | IP |
---|---|
BMC 網路 | 10.26.5.192/26 |
第一個主機 IP | 10.26.5.193 |
最後一個主機IP | 10.26.5.254 |
DVM/OAW IP | 10.26.5.253 |
子網掩碼 | 255.255.255.192 |
默認閘道 | 10.26.5.193 |
$oawRootPath = "D:\oawtest"
$securePassword = Read-Host -Prompt "Enter password for Azure Stack OAW's local administrator" -AsSecureString
if (Get-ChildItem -Path $oawRootPath -Recurse | Get-Item -Stream Zone* -ErrorAction SilentlyContinue | Select-Object FileName)
{ Write-Host "Execution failed, unblock the script files first" }
else { .\New-OAW.ps1 -LocalAdministratorPassword $securePassword -AzureStackCertificatePath 'F:\certroot.cer' `-SkipNetworkConfiguration -VirtualSwitchName Example }
注意
只有在使用從企業證書頒發機構單位核發的憑證部署 Azure Stack Hub 時,才應該使用 參數 AzureStackCertificatePath
。 OAW 虛擬機將會在沒有網路設定的情況下部署。 您可以設定靜態 IP 位址,或透過 DHCP 擷取 IP 位址。
用戶帳戶原則
下列使用者帳戶原則會套用至 OAW VM:
- 內建系統管理員用戶名稱:AdminUser
- MinimumPasswordLength = 14
- PasswordComplexity 已啟用
- MinimumPasswordAge = 1 (天)
- MaximumPasswordAge = 42 (天)
- NewGuestName = GUser (預設為停用)
New-OAW Cmdlet 參數
有兩個參數集可供 New-OAW 使用。 選擇性參數會以括號顯示。
New-OAW
-LocalAdministratorPassword <Security.SecureString> `
[-AzureStackCertificatePath <String>] `
[-AzSStampInfoFilePath <String>] `
[-CertificatePassword <Security.SecureString>] `
[-ERCSVMIP <String[]>] `
[-DNS <String[]>] `
[-DeploymentDataFilePath <String>] `
[-SkipNetworkConfiguration] `
[-ImageFilePath <String>] `
[-VirtualMachineName <String>] `
[-VirtualMachineMemory <int64>] `
[-VirtualProcessorCount <int>] `
[-VirtualMachineDiffDiskPath <String>] `
[-PhysicalAdapterMACAddress <String>] `
[-VirtualSwitchName <String>] `
[-ReCreate] `
[-AsJob] `
[-Passthru] `
[-WhatIf] `
[-Confirm] `
[<CommonParameters>]
New-OAW
-LocalAdministratorPassword <Security.SecureString> `
-IPAddress <String> `
-SubnetMask <String> `
-DefaultGateway <String> `
-DNS <String[]> `
-TimeServer<String> `
[-AzureStackCertificatePath <String>] `
[-AzSStampInfoFilePath <String>] `
[-CertificatePassword <Security.SecureString>] `
[-ERCSVMIP <String[]>] `
[-ImageFilePath <String>] `
[-VirtualMachineName <String>] `
[-VirtualMachineMemory <int64>] `
[-VirtualProcessorCount <int>] `
[-VirtualMachineDiffDiskPath <String>] `
[-PhysicalAdapterMACAddress <String>] `
[-VirtualSwitchName <String>] `
[-ReCreate] `
[-AsJob] `
[-Passthru] `
[-WhatIf] `
[-Confirm] `
[<CommonParameters>]
下表列出每個參數的定義。
參數 | 必要/選擇性 | 描述 |
---|---|---|
LocalAdministratorPassword | 必填 | 虛擬機本機系統管理員帳戶 AdminUser 的密碼。 |
IP位址 | 必填 | 在虛擬機上設定 TCP/IP 的靜態 IPv4 位址。 |
SubnetMask | 必填 | 用於在虛擬機上設定 TCP/IP 的 IPv4 子網路遮罩。 |
預設閘道 | 必填 | 默認閘道的 IPv4 位址,以在虛擬機上設定 TCP/IP。 |
DNS | 必填 | DNS 伺服器在虛擬機上設定 TCP/IP。 |
TimeServer | 必填 | Azure Stack Hub 從中同步的時間伺服器 IP 位址,也是 OAW 同步的時間來源。 檢查 AzureStackStampInformation.json,或要求系統管理員查詢集線器同步的時間伺服器 IP。 在緊急情況下,如果您無法取得中樞所同步的時間伺服器的 IP 位址,您可以為此參數輸入預設的時間伺服器 'time.windows.com,0x8'。 請注意,強烈建議確保 OAW 和 Hub 的時間同步,以避免在 OAW 中與 Hub 互動時發生潛在的時鐘偏差問題。 |
ImageFilePath | 選擇性 | Microsoft 提供的 OAW.vhdx 路徑。 默認值是此腳本相同父資料夾下的 OAW.vhdx。 |
虛擬機器名稱 | 可選的 | 要指派給虛擬機器的名稱。 如果在 DeploymentData.json 檔案中找到命名前置詞,則會作為預設名稱。 否則,AzSOAW將做為預設名稱。 您可以指定另一個名稱來覆寫預設值。 |
VirtualMachineMemory | 自選 | 要分配給虛擬機器的記憶體。 預設值 2 GB。 |
虛擬處理器數量 | 可選 | 要指派給虛擬機的虛擬處理器數目。 預設值為 4。 |
VirtualMachineDiffDiskPath | 可選 | 當管理虛擬機器啟動時,儲存暫存差異磁碟檔案的路徑。 預設值是 DiffDisks 在此腳本的相同父資料夾中的子目錄。 |
AzureStackCertificatePath | 可選 | 要匯入至虛擬機以存取 Azure Stack Hub 的憑證路徑。 |
AzSStampInfoFilePath | 選擇性 | AzureStackStampInformation.json 檔案的路徑,其中腳本可以擷取 ERCS VM 的 IP。 |
CertificatePassword | 可選 | 要匯入至虛擬機以存取 Azure Stack Hub 的憑證密碼。 |
ERCSVMIP | 選擇性 | 要將 Azure Stack Hub ERCS 虛擬機的 IP 地址新增至虛擬機的受信任主機清單。 如果設定 -SkipNetworkConfiguration,將不會生效。 |
跳過網路配置 | 可選 | 略過虛擬機的網路設定,讓使用者稍後可以進行設定。 |
DeploymentDataFilePath | 自選 | DeploymentData.json的路徑。 如果設定 -SkipNetworkConfiguration,將不會生效。 |
PhysicalAdapter MAC位址 | 可選的 | 將用來連接虛擬機之主機網路適配器的 MAC 位址。 - 如果只有一張實體網路適配器,則不需要此參數,而且只會使用唯一的網路適配器。 - 如果有一個以上的實體網路適配器,則需要此參數來指定要使用的網路適配器。 |
VirtualSwitchName | 可選的 | 虛擬機 Hyper-V 中必須設定的虛擬交換器名稱。 - 如果有符合所提供名稱的 VMSwitch,則會選取該 VMSwitch。 - 如果沒有符合提供名稱的 VMSwitch,則會以該名稱建立新的 VMSwitch。 |
Re-Create | 可選的 | 如果已經有相同名稱的虛擬機已存在,則移除並重新建立該虛擬機。 |
檢查 OAW VM 版本
使用您的認證登入 OAW VM。
開啟 PowerShell ISE 並執行下列腳稿:
C:\Version\Get-Version.ps1
例如:
在 HLH 與 OAW 之間傳輸檔案
如果您需要在 HLH 與 OAW 之間傳輸檔案,請使用 New-SmbShare Cmdlet 來建立 SMB 共用。 New-SmbShare 會將檔案系統資料夾作為伺服器訊息區塊(SMB)共用公開給遠端用戶端。 例如:
若要刪除此 Cmdlet 所建立的共用,請使用 Remove-SmbShare Cmdlet。
移除 OAW VM
下列腳本會移除 OAW VM,用來存取 Azure Stack Hub 以進行管理和診斷。 此腳本也會移除與 VM 相關聯的磁碟檔案和守護者。
使用您的認證登入 HLH。
開啟具有提升權限的 PowerShell 視窗。
導航至已安裝的 OAW.zip 檔案的已解壓縮內容。
藉由執行 Remove-OAW.ps1 腳本來移除 VM:
.\Remove-OAW.ps1 -VirtualMachineName \<name\>
其中 <名稱> 是要移除的虛擬機器的名稱。 預設情況下,名稱是 AzSOAW。
例如:
.\Remove-OAW.ps1 -VirtualMachineName AzSOAW