我的 Linux (Ubuntu) 應用程式封鎖問題 如何使用 PowerShell 生成預設發行者規則?

ChanLokMan 80 信譽點數
2026-08-20T08:14:04.2366667+00:00

在啟用 AppLocker 的 DLL 規則後,位於 C:\Windows\Assembly 的合法系統 DLL 被封鎖,導致核心應用程式在啟動時崩潰。這種情況通常是因為未為原生組件建立預設的發行者規則。請問如何透過 PowerShell 生成這些預設規則,以確保系統 DLL 能正常執行?

您是否想我幫您延伸說明 AppLocker DLL 規則 的設定步驟,或是提供 PowerShell 指令範例 來快速生成預設發行者規則?

Windows for business | Windows 365 商務版
0 則留言 沒有留言

由問題作者接受的回答
Domic Vo 36,835 信譽點數 獨立顧問
2026-08-20T08:45:38.1133333+00:00

在AppLocker中启用DLL规则后,如果未创建默认发布者规则,系统DLL(尤其是位于)中的本地组件 C:\Windows\Assembly 将被误判并被阻断,导致内核应用程序崩溃。 这是因为 DLL 规则比 EXE 规则更严格,必须明确允许系统组件执行。

要通过PowerShell生成默认规则,可以使用AppLocker的cmdlet。 打开带有权限提升功能的PowerShell,并执行以下命令:

PowerShell

New-AppLockerPolicy -DefaultRule -RuleType DLL -User Everyone | Set-AppLockerPolicy -Merge

这建立了 DLL 类型的默认发布规则,使所有已签名的 Windows 系统文件都能正常运行。 建议同时为 EXE、MSI 和 Script 规则建立默认规则,以确保整体一致性,例如:

PowerShell

New-AppLockerPolicy -DefaultRule -RuleType EXE,MSI,Script,DLL -User Everyone | Set-AppLockerPolicy -Merge

运行前,使用 Test-AppLockerPolicy 认证规则以避免意外阻断非系统 DLL。 另外,测试时一定要把 App Locker 的执行模式设置为组策略中的审计模式,只有确认没有误报后才切换到强制模式。

完成此过程后,系统 DLL 将不再被阻挡,应用程序可以正常启动。

多米克配音。

此回答有幫助嗎?

有 2 人認為此回答有所幫助。
0 則留言 沒有留言

0 個其他答案

排序依據: 最實用

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。