A VHD Disk Compaction használatának és teljesítményének ismertetése

Fontos

A Windows 2026. áprilisi frissítésében szereplő windowsos titkosítási típus rc4-ről AES-SHA1-re változik.

A nem AES-SHA1 frissített FSLogix-tárolókat üzemeltető fájlmegosztások hozzáférési problémákat tapasztalhatnak a módosítás alkalmazása után. A fennakadás elkerülése érdekében a frissítés telepítése előtt végezze el a frissítés AES-SHA1 való frissítését.

Azokat az ügyfeleket, akik már frissítettek AES-SHA1, nem érintik.

További információ: FSLogix blog: Szükséges művelet: A Windows Kerberos keményítése (RC4) hatással lehet az SMB-tároló FSLogix-profiljaira.

A Windows eseménynaplóval megtudhatja, hogy milyen gyakran használják a VHD Disk Compactiont, a megtakarított helyet és a futtatáshoz szükséges időt. Az alábbiakban néhány PowerShell-példaszkriptet és Azure Log Analytics-lekérdezést talál, amelyekkel könnyebben értelmezheti az eseményeket.

PowerShell

VHD Disk Compaction metrics script

Ez a példa a PowerShell használatával lekéri a VHD Disk Compaction eseményeit az előző 30 napból, rácsba formázva. Egy emelt szintű PowerShell-parancssorban futtassa a következő kódblokkot:

# 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-lekérdezések

Fontos

Az alábbi lekérdezés használatához először konfigurálnia kell a virtuális gépeket, hogy az eseménynaplókat egy Log Analytics-munkaterületre küldjék. További információ: Windows-eseménynapló-adatforrások gyűjtése a Log Analytics-ügynökkel. A VHD Disk Compactionhoz használt naplók a következők:

  • Microsoft-FSLogix-alkalmazások/működtetés
  • Microsoft-FSLogix-alkalmazások/Admin

VHD Disk Compaction metrics query

A VHD Disk Compact művelettel töltött idő

A kompakt művelet során eltöltött átlagos, minimális és maximális időt jeleníti meg. Az adatok összegzése annak alapján történik, hogy a lemez tömöríthető volt-e.

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

Íme egy példa a kimenetre:

Sávdiagram a lekérdezés futtatásának eredményét ábrázoló sávdiagramon

Tömörített tároló VHD(x) fájljainak száma

Megjeleníti, hogy hány tároló VHD(x) fájl lett kijelölve tömörítésre a küszöbértékek alapján.

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

Íme egy példa a kimenetre:

Kördiagram a tömörített V H D-fájlok (tárolók) számával

Megtakarított tárterület teljes száma

Megjeleníti a VHD Disk Compaction művelet során visszaigényelt GB-ban lévő tárterület mennyiségét.

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 (kijelentkezés) késleltetési figyelmeztetések

Megjeleníti azokat a szolgáltatásokat, amelyek miatt túllépte Winlogon a 60 másodperces küszöbértéket. Az előfordulások számát, valamint az átlagos és a maximális eltöltött időt jeleníti meg.

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

Íme egy példa a kimenetre:

A Winlogon küszöbértékét túllépő szolgáltatásokat bemutató táblázat