共用方式為


受管理的安裝程式和 ISG 技術參考與疑難排解指南

注意

Windows Defender 應用程式控制的某些功能僅在特定 Windows 版本上可用。 深入了解 應用程控功能可用性

啟用受管理的安裝程式和 Intelligent Security Graph (ISG) 記錄事件

如需啟用選擇性 Managed 安裝程式診斷事件的資訊,請參閱 瞭解應用程控 事件。

使用 fsutil 查詢受控安裝程式的擴充屬性 (MI)

使用 Windows Defender 應用程控 (WDAC) 並啟用受管理安裝程式 (MI) 的客戶,可以使用 fsutil.exe 來判斷檔案是否由受管理的安裝程式程式所建立。 使用 fsutil.exe 查詢檔案上的擴充屬性 (IA) ,並尋找 KERNEL,以完成這項驗證。SMARTLOCKER。ORIGINCLAIM EA。 然後,您可以使用輸出第一列中的數據來識別檔案是否由受管理的安裝程式所建立。 例如,讓我們看看名為 application.exe 檔案的 fsutil.exe 輸出:

範例:

fsutil.exe file queryEA C:\Users\Temp\Downloads\application.exe

Extended Attributes (EA) information for file C:\Users\Temp\Downloads\application.exe:

Ea Buffer Offset: 410
Ea Name: $KERNEL.SMARTLOCKER.ORIGINCLAIM
Ea Value Length: 7e
0000: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 ................
0010: b2 ff 10 66 bc a8 47 c7 00 d9 56 9d 3d d4 20 2a ...f..G...V.=. *
0020: 63 a3 80 e2 d8 33 8e 77 e9 5c 8d b0 d5 a7 a3 11 c....3.w.\......
0030: 83 00 00 00 00 00 00 00 5c 00 00 00 43 00 3a 00 ........\...C.:.
0040: 5c 00 55 00 73 00 65 00 72 00 73 00 5c 00 6a 00 \.U.s.e.r.s.\.T.
0050: 6f 00 67 00 65 00 75 00 72 00 74 00 65 00 2e 00 e.m.p..\D.o.w.n...
0060: 52 00 45 00 44 00 4d 00 4f 00 4e 00 44 00 5c 00 l.o.a.d.\a.p.p.l.
0070: 44 00 6f 00 77 00 6e 00 6c 00 6f 00 61 00 64 i.c.a.t.i.o.n..e.x.e

從上述輸出中,尋找標示為 “0000:”的第一個數據列,接著接著 16 個雙字元集。 每四個集合會形成稱為ULONG的群組。 第一個 ULONG 前面的兩個字元集一律為 “01”,如下所示:

0000: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00

如果第二個 ULONG) 開始 (輸出的第五個位置有 “00”,表示 EA 與受管理的安裝程式有關:

0000:01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00

最後,輸出第九個位置的兩個字元集 (第三個ULONG) 的開頭,指出檔案是否由執行為受管理安裝程序的進程所建立。 值為 「00」 表示檔案是由受管理的安裝程式程式直接寫入,而且如果您的 WDAC 原則信任受管理的安裝程式,則會執行。

0000:01 00 00 00 00 00 00 0000 00 00 00 00 01 00 00 00

如果第三個 ULONG 的起始值是 「02」,則表示「子系的子系」。 「子系的子系」是在受管理的安裝程式所安裝的任何檔案上設定。 但是,檔案是在受管理的安裝程式完成其工作 之後 建立的。 因此,除非您的原則中有一些其他規則允許,否則 不允許 執行此檔案。

在罕見的情況下,您可能會在此位置看到其他值,但如果您的原則信任受管理的安裝程式,也會執行該值。

使用 fsutil 查詢 Intelligent Security Graph (ISG) 的擴充屬性

根據ISG執行信譽良好的安裝程式時,安裝程式寫入磁碟的檔案將會繼承安裝程式的信譽。 這些具有ISG繼承信任的檔案也會有 KERNEL。SMARTLOCKER。ORIGINCLAIM EA 集合,如上述適用於 Managed 安裝程式所述。 您可以從 fsutil 尋找輸出第五個位置的值 「01」, (第二個 ULONG) 的開頭,以識別 EA 是由 ISG 建立的:

0000:01 00 00 00 01 00 00 00 00 00 00 00 00 01 00 00 00

Managed Installer 和 ISG 的更多疑難解答步驟

受管理的安裝程式和ISG都相依於AppLocker來提供一些功能。 使用下列步驟來確認AppLocker已正確設定並執行。

  1. 檢查 AppLocker 服務是否正在執行。 從提升許可權的 PowerShell 視窗中,執行下列命令,並確認 appidsvc 和 AppLockerFltr 的 STATE 顯示為 RUNNING:

    sc.exe query appidsvc
        SERVICE_NAME: appidsvc
        TYPE               : 30  WIN32
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
    sc.exe query AppLockerFltr
        SERVICE_NAME: applockerfltr
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
    

    如果沒有,請從提升許可權的 PowerShell 視窗 開始執行 appidtel ,然後再次檢查。

  2. 針對 Managed 安裝程式,請檢查AppCache.dat和其他 *。在 %windir%\System32\AppLocker 下建立的 AppLocker 檔案。 至少應該有”為每個 EXE、DLL 和 MANAGEDINSTALLER 規則集合建立的 AppLocker 檔案。 如果您沒有看到這些檔案已建立,請繼續進行下一個步驟,確認已正確套用 AppLocker 原則。

  3. 針對受管理的安裝程序進行疑難解答,請檢查AppLocker有效原則是否正確。 從提升權限的 PowerShell 視窗:

    Get-AppLockerPolicy -Effective -XML > $env:USERPROFILE\Desktop\AppLocker.xml
    

    然後開啟建立的 XML 檔案,並確認它包含您預期的規則。 特別是,原則應該針對每個EXE、DLL和 MANAGEDINSTALLER RuleCollections 至少包含一個規則。 RuleCollections 可以設定為 AuditOnly 或 Enabled。 此外,EXE 和 DLL RuleCollections 必須包含 RuleCollectionExtensions 組態,如自動允許受管理安裝程式使用 Windows Defender 應用程控部署的應用程式中所示。