2026年4月18日土曜日

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は、特段設定してないので何も出てきませんが、項目としては大丈夫です。

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

0 件のコメント:

コメントを投稿