2026年4月18日土曜日

Windows Admin Center version 2511の新しいビルド 2.6.6.18

いろいろございまして、

Windows Admin Center version 2511 is now generally available!

を改めて見直しました。引用しますが、冒頭に下記の文言が追記されております。。。

April 9th, 2026: The Windows Admin Center installer has been updated to build number 2.6.6.18. This build includes an update to the Cluster manager extension that addresses a known issue and no other functionality changes. The HA deployment scripts and associated documentation have also been updated. 

known issureのリンクをクリックすると、

ボリューム ツールでの誤った削除

にアクセスできました。文面を引用します。

クラスター マネージャーのバージョンが 5.2.6 未満のWindows Admin Centerのインスタンスでは、ボリュームの削除操作で問題が発生する可能性があります。データ損失を防ぐには、クラスター マネージャー拡張機能をバージョン 5.2.6 に更新するか、バージョン 2511 ビルド 2.6.6.18 以降Windows Admin Center使用していることを確認します。 クラスター マネージャー拡張機能が更新されない限り、Windows Admin Centerでボリュームを削除しないでください。

ということです。。。Windows Admin Center 2511 ビルド 2.6.6.18に上げたほうが良いですね。

もう一つ、高可用性スクリプトが更新されたとのこと。これは別途試してみます(前回試したときにうまく動いていないので)。

OpenSSH for Windows Server 2025 その4 ローカルユーザーのパスワード認証

ADドメインユーザーではなく、ローカルユーザーを試してみます。

Windows Server および Windows 用の OpenSSH Server の構成 - AllowGroups、AllowUsers、DenyGroups、DenyUsers

を参照し、AllowUsersにローカルユーザーを追加しました(事前にローカルユーザーは作成済み)。sshdサービスも再起動します。


パスワード認証を試したところ、上手くいきました。

キーベース認証を試行していないことを思い出したので、別途確認します。

※何か権限設定を書き忘れているような気もするので、確認予定です。書き忘れがあれば別途追記します。

OpenSSH for Windows Server 2025 その3 キーベースの認証 ローカル管理者権限ありのADドメインユーザー

七転八倒のためGen AIを併用しながらという感じで試行錯誤した結果、タイトルの挙動故の設定が必要と理解しました。具体的には、下記の設定が必要でした。

Windows 用 OpenSSH でのキーベースの認証 - 管理ユーザー

通常ユーザーの公開キー配置場所である ホームディレクトリ\.ssh\id_ecdsa.pub ではなくて、$env:ProgramData\ssh\administrators_authorized_keys に置く必要がありました。加えて、set-contentでasciiにコード変換するとうまくいきました。コマンド例は下記のとおりです。

(Get-Content C:\Users\sashizaki\.ssh\id_ecdsa.pub) | Set-Content -Encoding ascii C:\ProgramData\ssh\administrators_authorized_keys

では、七転八倒をかいつまんでみていきます。基本的には、下記のドキュメントを参照しています。

Windows 用 OpenSSH でのキーベースの認証

まずは、ssh-keygenで秘密キーと公開キーのペアを作成します。

普通に、ホームディレクトリ\.ssh\id_ecdsa.pub に配置しました。これでキーベース認証が使えると思ったら間違いでして、

に記載がある %programdata%\ssh\sshd_config ファイルから「PubkeyAuthentication yes」を有効化して、sshdサービスを再起動します。(後で気づいて対応しましたが、この時点でパスワード認証も有効化しておくてデバッグしやすい)
ユーザー指定を変えながらいくつかリトライしたもののsshコマンドからつながらず。
Gen AIの提案から、
(Get-Content C:\Users\sashizaki\.ssh\id_ecdsa.pub) | Set-Content -Encoding ascii C:\ProgramData\ssh\administrators_authorized_keys
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant "Administrators:F"
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant "SYSTEM:F"
を実行しsshdサービスを再起動しました。

ssh /vでデバッグ情報を出力させながら、再試行しました。結果、成功。




Network ATCのGlobal Cluster Overridesも出力してみる

Network ATCのSet-NetIntentによりOverridesを追加してみる

では、Global Cluster Overridesを出力していないことを思い出し、調べつつ生成AIからPowerShellコードを出力してもらいました。

# -----------------------------
# Dump Network ATC intents + Global overrides (Cluster + Proxy)
# -----------------------------

# インテント別Overrides(既存ロジックを最適化:Get-NetIntent呼び出しを1回に)
$intentNames = (Get-NetIntent).IntentName
foreach ($name in $intentNames) {
    $i = Get-NetIntent -Name $name

    "`n===== Intent: $($i.IntentName) / Type: $($i.IntentType) ====="
    "AdapterAdvancedParametersOverride:"; $i.AdapterAdvancedParametersOverride
    "RssConfigOverride:";                $i.RssConfigOverride
    "QosPolicyOverride:";                $i.QosPolicyOverride
    "SwitchConfigOverride:";             $i.SwitchConfigOverride
    "IPOverride:";                       $i.IPOverride
    "NetAdapterCommonProperties:";       $i.NetAdapterCommonProperties
}

# --- Global overrides を取得(globalintent相当) ---
$g = Get-NetIntent -GlobalOverrides | Where-Object IntentType -eq 'Global'

"`n===== Global Overrides (globalintent) ====="
$g | Format-List ProxyOverride, ClusterOverride, ResourceContentVersion, IntentName, Scope, IntentType, InstanceId, ObjectVersion

# -----------------------------
# 1) Global Cluster Overrides (New-NetIntentGlobalClusterOverrides 相当)
# -----------------------------
$clusterProps = @(
  'EnableNetworkNaming',
  'EnableLiveMigrationNetworkSelection',
  'EnableVirtualMachineMigrationPerformanceSelection',
  'VirtualMachineMigrationPerformanceOption',
  'MaximumVirtualMachineMigrations',
  'MaximumSMBMigrationBandwidthInGbps'
)

"`n===== Global Cluster Overrides (ClusterOverride) ====="
$g.ClusterOverride | Select-Object $clusterProps | Format-List

# -----------------------------
# 2) Global Proxy Overrides (New-NetIntentGlobalProxyOverrides 相当)
#    -ProxyServer / -ProxyBypass / -AutoDetect / -AutoConfigUrl
# -----------------------------
$proxyPropCandidates = @(
  'ProxyServer',     # New-NetIntentGlobalProxyOverrides -ProxyServer
  'ProxyBypass',     # New-NetIntentGlobalProxyOverrides -ProxyBypass
  'AutoDetect',      # New-NetIntentGlobalProxyOverrides -AutoDetect
  'AutoConfigUrl'    # New-NetIntentGlobalProxyOverrides -AutoConfigUrl
)

"`n===== Global Proxy Overrides (ProxyOverride) ====="

# ProxyOverride は環境によりプロパティ名が揺れる可能性があるため、
# 「存在するプロパティだけ」出すようにしています。
if ($null -eq $g.ProxyOverride) {
    Write-Warning "ProxyOverride が null です(未設定/既定の可能性)。"
} else {
    $existing = $proxyPropCandidates | Where-Object { $g.ProxyOverride.PSObject.Properties.Name -contains $_ }
    if ($existing.Count -eq 0) {
        # 期待の名前で取れない場合は全出力して原因特定
        Write-Warning "ProxyOverride に期待プロパティ($($proxyPropCandidates -join ', '))が見つかりません。全プロパティを表示します。"
        $g.ProxyOverride | Format-List *
    } else {
        $g.ProxyOverride | Select-Object $existing | Format-List
    }
}

これをNestedなWindows Server 2025 S2D上で実行しました。NetDirect=RDMAとSR-IOVは無効化が確認できました。

Global Cluster Overridesは、特段設定してないので何も出てきませんが、項目としては大丈夫です。

なお物理サーバーで値が出ているのは確認済みです。

2026年4月13日月曜日

OpenSSH for Windows Server 2025 その2 GPOによるサービスの制御

OpenSSHをホストごとに個別設定するのは手がかかりますので、グループポリシー(GPO)で制御します。

グループ ポリシーを使用して OpenSSH を管理する方法

に則り、設定します。

グループポリシーの管理を起動します。

GPOを作成します。
グループポリシーを編集しましょう。左側のナビゲーションウィンドウで、[コンピューターの構成]、[ポリシー]、[Windowsの構成]、[セキュリティの構成] 、[システムサービス] の順で選択します。その中にある[OpenSSH SSH Server] をダブルクリックします。

[このポリシーの設定を定義する]をチェックするとサービスの起動を制御できます。

[セキュリティの編集]をクリックすると、既定値の確認、編集が可能です。


では、サービスのスタートアップモードを無効化。gpupdate /forceでGPOを反映しました。止まりましたね。
サービスのスタートアップモードを手動に変更。gpupdate /forceでGPOを反映しました。
明示的に起動していないので、サービスは停止したままです。
サービスの管理でもスタートアップの種類は[手動]であることが確認できます。
スタートアップの種類を[自動]に変更します。
gpupdate /forceでGPOを反映しました。サービスの起動を確認できます。
サービスの管理でもスタートアップの種類は[自動]であり、サービスは実行中であることが確認できます。

次回は、キーベースの認証をみていきます。調べている限り、クセがあるので注意しなければなりませんので、その辺りも解説予定です。

2026年4月9日木曜日

OpenSSH for Windows Server 2025 その1 有効化とパスワード認証

Windows Server 2025では、OpenSSHが簡単に使えるようになっています。

Configure SSH Server on Windows Server 2025

を踏まえてみていきます。

有効化については、サーバーマネージャーからクリックするだけ。(下図の赤枠内をクリック)

確認が表示されますので、日本語で「はい」と入れましょう。

yやyesを入力しても却下されます。

有効化されると下図の赤枠内通りになります。
※無効化したい場合は、「有効」になっているリンクをクリックすれば良いです。

OpenSSHのサービスが有効化されています。
Windows Firewallでも通信が許可されています。
ただし、ルールのプロパティにある詳細タブから、Domainを追加でチェックします。

実際にパスワード認証で接続します。なおローカルユーザーで接続可能かは別途確認予定です。
ユーザー名が少々分かりにくいのですが、

ADドメイン名¥ADドメインのユーザー名@接続先ホスト名

となっています。接続した結果、拇印の受け入れを求められのが下記です。

接続できましたので、プロンプトにユーザー名が含まれています。
exitでリモート接続を終了できます。

次回は、グループポリシーによるサービス制御を解説します。


2026年4月7日火曜日

Azure Local 2602を2603へアップデートしようとしましたが

Azure Local 2602を2603へアップデートしようとしました。まず、Azureと通信できていないと、インストールがクリックできない挙動があると理解しました。常時起動していればこういうことにはならないため、レアケースです。

インストールがクリックできるようになりましたので、進めます。
午後12:05に開始。
午後5時に失敗。。。
SRを上げないとダメですね。。。2604がリリースされるタイミングなので、エラー事象の掲載に留めます。