AppLocker 是一种由微软开发的 Windows 操作系统功能,旨在帮助管理员限制特定用户或用户组对计算机上应用程序的访问权限。
AppLocker 是一项高级安全功能,仅适用于 Windows 7 及更高版本的企业和专业版操作系统。具体来说,以下是 AppLocker 支持的 Windows 版本列表:
- Windows 7 Enterprise
- Windows 7 Ultimate
- Windows 8 Enterprise
- Windows 8.1 Enterprise
- Windows 10 Enterprise
- Windows 10 Education
- Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Enterprise
- Windows Server 2008 R2 Standard
- Windows Server 2012 Datacenter
- Windows Server 2012 Essentials
- Windows Server 2012 Foundation
- Windows Server 2012 Standard
- Windows Server 2012 R2 Datacenter
- Windows Server 2012 R2 Essentials
- Windows Server 2012 R2 Foundation
- Windows Server 2012 R2 Standard
- Windows Server 2016 Datacenter
- Windows Server 2016 Essentials
- Windows Server 2016 Standard
- Windows Server 2019 Datacenter
- Windows Server 2019 Essentials
- Windows Server 2019 Standard
请注意,AppLocker 不适用于 Windows 10 Home、Windows 8.1 Home、Windows 7 Home Premium 或其他非企业和专业版操作系统。如果您使用的是这些版本,则无法使用 AppLocker 功能。
AppLocker 是一种由微软开发的 Windows 操作系统功能,旨在帮助管理员限制特定用户或用户组对计算机上应用程序的访问权限。它可以帮助组织保护计算机免受未经授权的应用程序使用和恶意软件的威胁。
AppLocker 可以根据多种规则来控制应用程序的访问权限,包括文件路径、数字签名、发行者和文件哈希等。管理员可以创建规则,允许或阻止特定的应用程序运行。
使用 AppLocker 有以下几个步骤:
-
打开组策略编辑器:可以通过运行"gpedit.msc"命令打开本地组策略编辑器。
-
配置 AppLocker 规则:在组策略编辑器中,导航到"计算机配置" > "Windows 设置" > "安全设置" > "应用程序控制策略" > "AppLocker"。在这里,可以创建规则,如允许列表、拒绝列表或条件列表,并指定适用的应用程序规则类型。
-
创建应用程序规则:可以创建基于文件路径、数字签名、发行者或文件哈希的应用程序规则。例如,可以创建一个规则,允许特定路径下的应用程序运行,或者允许由特定数字签名发行者签名的应用程序运行。
-
配置应用程序规则:在创建规则后,可以指定允许或阻止特定应用程序的执行。可以针对用户或用户组进行配置,并选择适用的规则类型和条件。
-
更新策略并测试:完成配置后,需要更新组策略并重启计算机以使更改生效。之后,可以测试应用程序的访问权限,确保 AppLocker 的规则按预期工作。
请注意,AppLocker 仅适用于 Windows 7 及更高版本的企业和专业版操作系统。在家庭版和标准版操作系统上无法使用 AppLocker 功能。
AppLocker 可以使用 PowerShell 进行操作。以下是一些常用的 PowerShell 命令和示例,可用于配置和管理 AppLocker 规则:
- 获取当前的 AppLocker 策略:
Get-AppLockerPolicy -Effective | Format-List
- 创建新的 AppLocker 策略:
New-AppLockerPolicy -RuleType <RuleType>
其中 <RuleType>
可以是 Allow、Deny 或 Auditing。
- 添加应用程序规则:
Add-AppLockerApplication -RuleType <RuleType> -Path <FilePath>
其中 <RuleType>
可以是 Allow、Deny 或 Auditing,而 <FilePath>
是要添加的应用程序的完整文件路径。
- 删除应用程序规则:
Remove-AppLockerApplication -RuleType <RuleType> -Path <FilePath>
其中 <RuleType>
可以是 Allow、Deny 或 Auditing,而 <FilePath>
是要删除的应用程序的完整文件路径。
- 显示指定策略中的应用程序规则:
Get-AppLockerApplication -Policy <PolicyPath>
其中 <PolicyPath>
是指定策略文件的完整路径。
- 启用或禁用 AppLocker 策略:
Set-AppLockerPolicy -PolicyObject <PolicyObject> -EnforcementMode <EnforcementMode>
其中 <PolicyObject>
是指定要启用或禁用的策略对象,而 <EnforcementMode>
可以是 Enforce、Audit 或 Disabled。
请注意,在执行这些命令之前,您需要以管理员身份运行 PowerShell 会话。此外,一些命令可能需要使用 Group Policy 对象进行操作,因此您可能需要相应的权限。
这些命令只是一些常用的操作示例,更详细的命令和选项可以通过在 PowerShell 中键入 Get-Help
命令来获得帮助文档。例如,Get-Help Add-AppLockerApplication
将显示有关添加应用程序规则的详细信息。
- 显示指定路径下所有应用程序的哈希值:
Get-ChildItem <FolderPath> | Get-FileHash
其中 <FolderPath>
是要显示应用程序哈希的文件夹的完整路径。
- 将 AppLocker 策略导出到 XML 文件:
Export-AppLockerPolicy -Policy <PolicyPath> -XmlFilePath <XmlFilePath>
其中 <PolicyPath>
是指定策略文件的完整路径,而 <XmlFilePath>
是导出的 XML 文件的完整路径。
- 将 AppLocker 策略从 XML 文件导入:
Import-AppLockerPolicy -XmlFilePath <XmlFilePath>
其中 <XmlFilePath>
是包含要导入的 AppLocker 策略的 XML 文件的完整路径。
- 在审核模式下启用 AppLocker 策略:
Set-AppLockerPolicy -PolicyObject <PolicyObject> -EnforcementMode AuditOnly
- 显示当前会话中的 AppLocker 事件日志:
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" -MaxEvents 1000
这些命令可以帮助您更灵活地配置和管理 AppLocker 规则。请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。
- 显示当前会话中的 AppLocker 事件日志(仅显示警告和错误):
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" -MaxEvents 1000 | Where-Object {$_.LevelDisplayName -match "Warning|Error"}
- 查找符合特定哈希值的应用程序:
Get-AppLockerFileInformation -Directory <FolderPath> -FileType Executable | Where-Object {$_.Hash -eq "<HashValue>"}
其中 <FolderPath>
是要查找应用程序的文件夹的完整路径,而 <HashValue>
是要匹配的哈希值。
- 将指定的应用程序添加到 AppLocker 白名单中:
Import-CSV <CsvFilePath> | Add-AppLockerExecutableFile -RuleType Allow
其中 <CsvFilePath>
是包含要添加到白名单中的应用程序信息的 CSV 文件的完整路径。
- 将指定的应用程序添加到 AppLocker 黑名单中:
Import-CSV <CsvFilePath> | Add-AppLockerExecutableFile -RuleType Deny
其中 <CsvFilePath>
是包含要添加到黑名单中的应用程序信息的 CSV 文件的完整路径。
这些命令可以帮助您更好地管理 AppLocker 规则,并帮助您快速找到特定的应用程序或规则。请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。
PowerShell 命令和示例,可用于配置和管理 AppLocker 规则:
- 将指定的应用程序添加到 AppLocker 审核列表中:
Import-CSV <CsvFilePath> | Add-AppLockerExecutableFile -RuleType Auditing
其中 <CsvFilePath>
是包含要添加到审核列表中的应用程序信息的 CSV 文件的完整路径。
- 在指定策略中创建新的路径规则:
New-AppLockerPolicy -RuleType Path | Add-AppLockerPathRule -User "Everyone" -Path <FolderPath> -PermissionLevel <PermissionLevel>
其中 <FolderPath>
是要创建规则的文件夹的完整路径,而 <PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted。
- 在指定策略中创建新的文件规则:
New-AppLockerPolicy -RuleType File | Add-AppLockerFileRule -User "Everyone" -Path <FilePath> -PermissionLevel <PermissionLevel>
其中 <FilePath>
是要创建规则的文件的完整路径,而 <PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted。
这些命令可以帮助您更好地管理 AppLocker 规则,并帮助您快速找到特定的应用程序或规则。请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。
- 删除指定路径下的所有应用程序的哈希值:
Get-ChildItem <FolderPath> | Get-FileHash | Remove-Item
其中 <FolderPath>
是要删除应用程序哈希的文件夹的完整路径。
- 在指定策略中创建新的数字签名规则:
New-AppLockerPolicy -RuleType Publisher | Add-AppLockerPublisherRule -User "Everyone" -Publisher <PublisherName> -CertificateSubject <CertificateSubject>
其中 <PublisherName>
是要创建规则的发布者名称,而 <CertificateSubject>
是证书的主题。
- 在指定策略中创建新的路径规则,并指定例外条件:
New-AppLockerPolicy -RuleType Path | Add-AppLockerPathRule -User "Everyone" -Path <FolderPath> -PermissionLevel <PermissionLevel> -Exception <ExceptionCondition>
其中 <FolderPath>
是要创建规则的文件夹的完整路径,<PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted,而 <ExceptionCondition>
是例外条件。
这些命令可以帮助您更好地管理 AppLocker 规则,并帮助您快速找到特定的应用程序或规则。请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。
- 显示当前系统上的所有 AppLocker 规则:
Get-AppLockerPolicy -Local | Format-List
这条命令将显示当前系统上的所有 AppLocker 规则的详细信息。
- 移除指定应用程序的 AppLocker 规则:
Get-AppLockerFileInformation -Directory <FolderPath> -FileType Executable | Remove-AppLockerFile -Verbose
这条命令将移除指定文件夹中的可执行文件的 AppLocker 规则。
- 导出当前系统上的 AppLocker 规则到 XML 文件:
Get-AppLockerPolicy -Local | Export-Clixml <ExportFilePath>
这将把当前系统上的 AppLocker 规则导出到指定的 XML 文件中。
这些命令可以帮助您更好地管理和配置 AppLocker 规则。请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。
- 将指定的应用程序添加到 AppLocker 拒绝列表中:
Import-CSV <CsvFilePath> | Add-AppLockerExecutableFile -RuleType Denied
其中 <CsvFilePath>
是包含要添加到拒绝列表中的应用程序信息的 CSV 文件的完整路径。
- 在指定策略中创建新的注册表规则:
New-AppLockerPolicy -RuleType Registry | Add-AppLockerRegistryRule -User "Everyone" -KeyPath <RegistryKeyPath> -PermissionLevel <PermissionLevel>
其中 <RegistryKeyPath>
是要创建规则的注册表键的完整路径,而 <PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted。
- 更新本地计算机上的 AppLocker 策略:
Set-AppLockerPolicy -Local
这条命令将使用在本地计算机上配置的 AppLocker 策略更新当前系统上的 AppLocker 设置。
请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。同时,根据您的具体需求,可以灵活使用这些命令来管理和配置 AppLocker 规则。
- 将指定的应用程序添加到 AppLocker 允许列表中:
Import-CSV <CsvFilePath> | Add-AppLockerExecutableFile -RuleType Allow
其中 <CsvFilePath>
是包含要添加到允许列表中的应用程序信息的 CSV 文件的完整路径。
- 在指定策略中创建新的 MSI 规则:
New-AppLockerPolicy -RuleType MSI | Add-AppLockerMSIRule -User "Everyone" -Path <MsiFilePath> -PermissionLevel <PermissionLevel>
其中 <MsiFilePath>
是要创建规则的 MSI 文件的完整路径,而 <PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted。
- 从 XML 文件导入 AppLocker 策略:
$policy = Import-Clixml <ImportFilePath>
Set-AppLockerPolicy -XMLPolicy $policy
这将从指定的 XML 文件中导入 AppLocker 策略,并将其应用到当前系统上的设置中。
请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。同时,根据您的具体需求,可以灵活使用这些命令来管理和配置 AppLocker 规则。
常用的 PowerShell 命令和示例,可用于配置和管理 AppLocker 规则:
- 将指定的应用程序添加到 AppLocker DLL 允许列表中:
Import-CSV <CsvFilePath> | Add-AppLockerDLLFile -RuleType Allow
其中 <CsvFilePath>
是包含要添加到允许列表中的 DLL 文件信息的 CSV 文件的完整路径。
- 在指定策略中创建新的脚本规则:
New-AppLockerPolicy -RuleType Script | Add-AppLockerScriptRule -User "Everyone" -Path <ScriptFilePath> -PermissionLevel <PermissionLevel>
其中 <ScriptFilePath>
是要创建规则的脚本文件的完整路径,而 <PermissionLevel>
可以是 Unrestricted、Basic 或 Restricted。
- 禁用当前系统上的 AppLocker 保护:
Set-AppLockerPolicy -Local -RuleType None
这条命令将禁用当前系统上的 AppLocker 保护,以便您可以在不受限制的情况下运行任何应用程序。
请注意,在执行这些命令之前,请确保您具有适当的权限和授权,以避免对系统造成不必要的风险和损坏。同时,根据您的具体需求,可以灵活使用这些命令来管理和配置 AppLocker 规则。
- 列出当前系统上的所有 AppLocker 策略:
Get-AppLockerPolicy -Effective
这将列出当前系统上的所有 AppLocker 策略,并显示它们的生效情况。
- 删除指定的 AppLocker 规则:
Get-AppLockerPolicy | Remove-AppLockerPolicy
这将删除当前系统上的所有 AppLocker 规则。
- 查看指定应用程序的 AppLocker 规则:
Get-AppLockerFileInformation -Path <FilePath>
其中 <FilePath>
是要查看规则的应用程序文件的完整路径。
- 导出当前系统上的 AppLocker 策略为 XML 文件:
Get-AppLockerPolicy -Effective | Export-Clixml <ExportFilePath>
这将导出当前系统上的 AppLocker 策略为指定路径的 XML 文件。
- 将指定的应用程序添加到 AppLocker MSI 允许列表中:
Import-CSV <CsvFilePath> | Add-AppLockerMSIFile -RuleType Allow
其中 <CsvFilePath>
是包含要添加到允许列表中的 MSI 文件信息的 CSV 文件的完整路径。
- 列出当前系统上的所有 AppLocker 规则:
Get-AppLockerPolicy -Effective | Get-AppLockerFileInformation
这将列出当前系统上的所有 AppLocker 规则,并显示它们对应的应用程序文件的详细信息。
- 查看指定应用程序的 AppLocker 规则详细信息:
Get-AppLockerFileInformation -Path <FilePath> | Format-List *
其中 <FilePath>
是要查看规则的应用程序文件的完整路径。
- 查看指定 AppLocker 规则的详细信息:
Get-AppLockerPolicy -Effective | Get-AppLockerRule | Where-Object {$_.Name -eq <RuleName>} | Format-List *
其中 <RuleName>
是要查看详细信息的 AppLocker 规则的名称。