Azure Stack Hub 操作員存取工作站

操作員存取工作站 (OAW) 的用途是將虛擬機器 (VM) 部署在 Azure Stack Hub 的 VM 上,可以是硬體生命週期主機 (HLH) 或任何其他執行 Microsoft Hyper-V 的機器。 其還必須有 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 若要重新註冊,請從系統管理入口網站取得之前的註冊名稱和資源群組。
Marketplace 摘要整合 在 HLH 上建立 SMB 共用,以儲存下載的映像或延伸模組。
建立虛擬機器 使用 Azure CLI 建立虛擬機器。
管理 AKS 管理 AKS 叢集,例如縮放或升級。

預先安裝的軟體

下表列出 OAW VM 上預先安裝的軟體。

軟體名稱 位置
商務用 Microsoft Edge [SystemDrive]\Program Files (x86)\Microsoft\Edge\Application
Az 模組 [SystemDrive]\ProgramFiles\WindowsPowerShell\Modules
PowerShell 7 [SystemDrive]\Program Files\PowerShell\7
Azure 命令列介面 (CLI) [SystemDrive]\Program Files (x86)\Microsoft SDKs\Azure\CLI2
Microsoft Azure 儲存體總管 [SystemDrive]\Program Files (x86)\Microsoft Azure Storage Explorer
AzCopy [SystemDrive]\VMSoftware\azcopy_windows_amd64_*
Azure Stack 工具 [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 = '73BE1564EE7357691A44DB3BD01AD5BB931CD029DE613EC6F564E8CDEA59F09D'
$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 檔案的雜湊:

  1. 從 GitHub 下載Test-FileHash.psm1 檔案,然後執行:

    Import-Module .\Test-FileHash.psm1 -Force -Verbose
    
  2. 匯入 Test-FileHash 模組之後,驗證 OAW.zip 檔案的雜湊:

    Test-FileHash -ExpectedHash "73BE1564EE7357691A44DB3BD01AD5BB931CD029DE613EC6F564E8CDEA59F09D" -FilePath "<path to the OAW.zip file>"
    

檢查 HLH 版本

注意

這個步驟很重要,因其可判斷您是將 OAW 部署在使用 Microsoft 映像或 OEM 映像部署的 HLH 上。 使用 OEM 映像部署的 HLH 不會出現這個 PowerShell Cmdlet。 如果您的 OAW 是部署在一般 Microsoft Hyper-V 上,則您可以略過此步驟。

  1. 使用您的認證登入 HLH。

  2. 開啟 PowerShell ISE 並執行下列指令碼:

    C:\Version\Get-Version.ps1
    

    例如:

    用來檢查 OAW VM 版本的 PowerShell cmdlet 螢幕擷取畫面。

使用指令碼建立 OAW VM

下列指令碼會將虛擬機器準備為操作員存取工作站 (OAW),用以存取 Microsoft Azure Stack Hub。

  1. 使用您的認證登入 HLH。

  2. 下載 OAW.zip 並解壓縮檔案。

  3. 開啟提升權限的 PowerShell 工作階段。

  4. 巡覽至 OAW.zip 檔案的解壓縮內容。

  5. 執行 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 的密碼。
IpAddress 必要 要在虛擬機器上設定的 TCP/IP 靜態 IPv4 位址。
SubnetMask 必要 要在虛擬機器上設定的 TCP/IP IPv4 子網路遮罩。
DefaultGateway 必要 要在虛擬機器上設定的 TCP/IP 預設閘道的 IPv4 位址。
DNS 必要 要在虛擬機器上設定的 TCP/IP DNS 伺服器。
TimeServer 必要 Azure Stack Hub 同步來源的時間伺服器 IP 位址,也會是 OAW 同步的時間來源。 檢查 AzureStackStampInformation.json,或要求系統管理員提供中樞同步來源的時間伺服器 IP。 發生緊急情況且無法取得中樞同步來源的時間伺服器 IP 時,您可以在此參數輸入預設的時間伺服器 'time.windows.com,0x8'。 請注意,強烈建議您務必同步 OAW 和 Hub 的時間,以免在 OAW 與中樞互動時發生可能的時鐘誤差問題。
ImageFilePath 選擇性 Microsoft 提供的 OAW.vhdx 路徑。 預設值是此指令碼相同父資料夾下的 OAW.vhdx
VirtualMachineName 選擇性 要指派給虛擬機器的名稱。 如果能在 DeploymentData.json 檔案中找到命名前置詞,其將會作為預設名稱。 否則,將使用 AzSOAW 作為預設名稱。 您可以指定其他名稱覆寫此預設值。
VirtualMachineMemory 選擇性 要指派給虛擬機器的記憶體。 預設值為 2 GB
VirtualProcessorCount 選擇性 要指派給虛擬機器的虛擬處理器數目。 預設值為 4
VirtualMachineDiffDiskPath 選擇性 管理 VM 處於作用中時,用來儲存暫存差異磁碟檔案的路徑。 預設值為此指令碼相同父資料夾下的 DiffDisks 子目錄。
AzureStackCertificatePath 選擇性 要匯入虛擬機器供 Azure Stack Hub 存取的憑證路徑。
AzSStampInfoFilePath 選擇性 AzureStackStampInformation.json 檔案的路徑,指令碼可在此取得 ERCS VM 的 IP。
CertificatePassword 選擇性 要匯入虛擬機器供 Azure Stack Hub 存取的憑證密碼。
ERCSVMIP 選擇性 要新增至虛擬機器上信任主機清單的 Azure Stack Hub ERCS VM IP。 如果設定了 -AzureStackStampInformation.json,則不生效。
SkipNetworkConfiguration 選擇性 略過虛擬機器的網路設定,以供使用者稍後設定。
DeploymentDataFilePath 選擇性 DeploymentData.json 的路徑。 如果設定了 -AzureStackStampInformation.json,則不生效。
PhysicalAdapterMACAddress 選擇性 將用來連線虛擬機器的主機網路介面卡 MAC 位址。
- 如果只有一張實體網路介面卡,則不需要此參數,且會使用這張唯一的網路介面卡。
- 如有多張實體網路介面卡,則必須使用此參數指定要使用的網路介面卡。
VirtualSwitchName 選擇性 必須在 Hyper-V 中為虛擬機器設定的虛擬交換器名稱。
- 如有所提供名稱的 VMSwitch,則會選取該 VMSwitch。
- 如果沒有所提供名稱的 VMSwitch,則會以所提供的名稱建立 VMSwitch。
重新建立 選擇性 如果存在同名的虛擬機器,則移除並重新建立虛擬機器。

檢查 OAW VM 版本

  1. 使用您的認證登入 OAW VM。

  2. 開啟 PowerShell ISE 並執行下列指令碼:

    C:\Version\Get-Version.ps1
    

    例如:

    用來檢查硬體生命週期主機版本的 PowerShell cmdlet 螢幕擷取畫面。

在 HLH 與 OAW 之間傳輸檔案

如果需要在 HLH 和 OAW 之間傳輸檔案,請使用 New-SmbShare Cmdlet 建立 SMB 共用。 New-SmbShare 會向遠端用戶端公開檔案系統資料夾,作為伺服器訊息區 (SMB) 共用。 例如:

若要刪除此 Cmdlet 所建立的共用,請使用 Remove-SmbShare Cmdlet。

移除 OAW VM

下列指令碼會移除用以存取 Azure Stack Hub 進行管理和診斷的 OAW VM。 此指令碼也會移除與此 VM 建立關聯的磁碟檔案和守護者。

  1. 使用您的認證登入 HLH。

  2. 開啟提升權限的 PowerShell 工作階段。

  3. 巡覽至已安裝 OAW.zip 檔案的解壓縮內容。

  4. 執行 Remove-OAW.ps1 指令碼以移除此 VM:

    .\Remove-OAW.ps1 -VirtualMachineName \<name\>
    

    其中 <名稱> 是要移除的虛擬機器名稱。 預設的名稱為 AzSOAW

    例如:

    .\Remove-OAW.ps1 -VirtualMachineName AzSOAW
    

後續步驟

Azure Stack 管理工作