次の方法で共有


VHD ディスクの圧縮の使用状況とパフォーマンスについて

Important

2026 年 4 月の Windows Server 更新プログラムに含まれる Windows の今後の変更では、既定の Kerberos 暗号化の種類が RC4 から AES-SHA1 に変更されます。

AES-SHA1 にアップグレードされていない FSLogix コンテナーをホストするファイル共有は、この変更が適用された後にアクセスの問題が発生する可能性があります。 中断を回避するには、更新プログラムをインストールする前に、AES-SHA1 へのアップグレードを完了します。

AES-SHA1 にアップグレード済みの顧客は影響を受けません。

詳細については、FSLogix ブログを参照してください。 アクションが必要です。Windows Kerberos セキュリティ強化 (RC4) は、SMB ストレージ上の FSLogix プロファイルに影響する可能性があります

Windows イベント ログを使用すると、VHD ディスク圧縮が使用されている頻度、保存された領域、実行にかかった時間を把握できます。 イベントの解釈に役立つ PowerShell スクリプトと Azure Log Analytics クエリのサンプルを次に示します。

PowerShell

VHD Disk Compaction メトリック スクリプト

この例では、PowerShell を使用して、過去 30 日間の VHD ディスク 圧縮イベントをグリッドに書式設定して取得します。 管理者特権の PowerShell プロンプトから、次のコード ブロックを実行します。

# Set startTime to number of days to search the event logs
$startTime = (Get-Date).AddDays(-30)

# Query Event Log using Get-WinEvent filtered to the VHD Disk Compaction metric events
$diskCompactionEvents = Get-WinEvent -FilterHashtable @{
    StartTime       = $startTime
    ProviderName    = 'Microsoft-FSLogix-Apps'
    ID         = 57
}

# Format event properties
$compactionMetrics = $diskCompactionEvents | Select-Object `
    @{l="Timestamp";e={$_.TimeCreated}},`
    @{l="ComputerName";e={$_.MachineName}},`
    @{l="Path";e={$_.Properties[0].Value}},`
    @{l="WasCompacted";e={$_.Properties[1].Value}},`
    @{l="TimeSpent(sec)";e={[math]::round($_.Properties[7].Value / 1000,2)}},`
    @{l="MaxSize(GB)";e={[math]::round($_.Properties[2].Value / 1024,2)}},`
    @{l="MinSize(GB)";e={[math]::round($_.Properties[3].Value / 1024,2)}},`
    @{l="InitialSize(GB)";e={[math]::round($_.Properties[4].Value / 1024,2)}},`
    @{l="FinalSize(GB)";e={[math]::round($_.Properties[5].Value / 1024,2)}},`
    @{l="SavedSpace(GB)";e={[math]::round($_.Properties[6].Value / 1024,2)}}

# Display metrics in Out-GridView
$compactionMetrics | Out-GridView

Azure Log Analytics クエリ

Important

以下のクエリを使用するには、まず、Log Analytics ワークスペースにイベント ログを送信するように仮想マシンを構成する必要があります。 詳細については、「 Log Analytics エージェントを使用した Windows イベント ログ データ ソースの収集」を参照してください。 VHD ディスクの圧縮に使用されるログは次のとおりです。

  • Microsoft-FSLogix-Apps/Operational
  • Microsoft-FSLogix-Apps/Admin

VHD Disk Compaction メトリック クエリ

VHD Disk Compact 操作中に費やされた時間

コンパクトな操作中に費やされた平均、最小、最大時間を表示します。 データは、ディスクを圧縮できたかどうかに基づいて集計されます。

Event
| where EventLog == 'Microsoft-FSLogix-Apps/Operational' and EventID == 57
| parse kind=relaxed EventData with *
    "<Data Name=\"Path\">" Path
    "</Data><Data Name=\"WasCompacted\">" DiskCompaction
    "</Data><Data Name=\"MaxSupportedSizeMB\">" MaxSupportedSizeMB
    "</Data><Data Name=\"MinSupportedSizeMB\">" MinSupportedSizeMB
    "</Data><Data Name=\"SizeBeforeMB\">" SizeBeforeMB
    "</Data><Data Name=\"SizeAfterMB\">" SizeAfterMB
    "</Data><Data Name=\"SavedSpaceMB\">" SavedSpaceMB
    "</Data><Data Name=\"TimeSpentMillis\">" TimeSpentMillis "</Data>" *
| extend TimeSpent = todecimal(TimeSpentMillis) / 1024
| where DiskCompaction <> ""
| summarize Average=round(avg(TimeSpent),2), Max=round(max(TimeSpent),2), Min=round(min(TimeSpent),2) by DiskCompaction

この場合の出力例を以下に示します。

時間のかかったクエリを実行した結果を示す横棒グラフ

圧縮されたコンテナー VHD(x) ファイルの数

しきい値に基づいて圧縮のために選択されたコンテナー VHD(x) ファイルの数を表示します。

Event
| where EventLog == 'Microsoft-FSLogix-Apps/Operational' and EventID == 57
| parse kind=relaxed EventData with *
    "<Data Name=\"Path\">" Path
    "</Data><Data Name=\"WasCompacted\">" DiskCompaction
    "</Data><Data Name=\"MaxSupportedSizeMB\">" MaxSupportedSizeMB
    "</Data><Data Name=\"MinSupportedSizeMB\">" MinSupportedSizeMB
    "</Data><Data Name=\"SizeBeforeMB\">" SizeBeforeMB
    "</Data><Data Name=\"SizeAfterMB\">" SizeAfterMB
    "</Data><Data Name=\"SavedSpaceMB\">" SavedSpaceMB
    "</Data><Data Name=\"TimeSpentMillis\">" TimeSpentMillis "</Data>" *
| where DiskCompaction <> ""
| summarize NumberOfVhdContainers=count() by DiskCompaction

この場合の出力例を以下に示します。

圧縮された V H D ファイル (コンテナー) の数を示す円グラフ

保存されたストレージ領域の合計

VHD ディスク圧縮操作中に回収されたストレージの量を GB 単位で表示します。

Event
| where EventLog == 'Microsoft-FSLogix-Apps/Operational' and EventID == 57
| parse kind=relaxed EventData with *
    "<Data Name=\"Path\">" Path
    "</Data><Data Name=\"WasCompacted\">" DiskCompaction
    "</Data><Data Name=\"MaxSupportedSizeMB\">" MaxSupportedSizeMB
    "</Data><Data Name=\"MinSupportedSizeMB\">" MinSupportedSizeMB
    "</Data><Data Name=\"SizeBeforeMB\">" SizeBeforeMB
    "</Data><Data Name=\"SizeAfterMB\">" SizeAfterMB
    "</Data><Data Name=\"SavedSpaceMB\">" SavedSpaceMB
    "</Data><Data Name=\"TimeSpentMillis\">" TimeSpentMillis "</Data>" *
| extend Storage = todecimal(SavedSpaceMB)
| summarize StorageSavings = (format_bytes(sum(Storage * 1024 * 1024),2,"GB"))

Winlogon (サインアウト) の遅延警告

Winlogonが 60 秒のしきい値を超える原因となったサービスを表示します。 発生回数と、平均時間と最大時間が表示されます。

Event
| where Source == 'Microsoft-Windows-Winlogon' and EventID == 6006
| parse kind=relaxed ParameterXml with "<Param>" ServiceName "</Param><Param>" Duration "</Param><Param>" EventType "</Param><Param>-</Param>"
| extend TimeInSeconds = todecimal(Duration)
| where EventType == "Logoff"
| summarize Occurrences=count(),Average=round(avg(TimeInSeconds),2), Minimum=round(min(TimeInSeconds),2), Maximum=round(max(TimeInSeconds),2) by ServiceName

この場合の出力例を以下に示します。

Winlogon のしきい値を超えたサービスを示すテーブル