我们在启动时动态创建 applocker 规则时遇到问题。我们在 Windows 7 上使用本地 GPO。域 GPO 不是项目中的选项。
在我们的例子中,我们使用 powershellscript 在系统启动时导入 applocker 规则。
问题是规则在系统运行大约 2 分钟之前不会生效。之后,我们可以随时锁定/解锁。
我检查了 AppIDSvc 服务是否设置为自动启动,并且我可以看到它正在运行。我还检查了它所依赖的服务。他们也自动启动(不是自动延迟)我在事件日志中看不到任何错误。
谁能告诉我是否有用于强制更新的命令?我已经尝试了 gpudate 没有任何运气......还尝试重新启动 applocker 服务。
希望尽快收到某人的来信。
这是一个为本地用户“abc”锁定计算器的代码示例 - 仅作为示例。
锁:
Import-Module AppLocker
$id = [guid]::NewGuid()
$tmpFileName = "c:\temp\temp.xml"
$appPath = "C:\Windows\system32\calc.exe"
$identity = "abc"
$objUser = New-Object System.Security.Principal.NTAccount($identity)
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$identitySid = $strSID.Value
"<AppLockerPolicy Version=""1"">
<RuleCollection Type=""Exe"" EnforcementMode=""Enabled"">
<FilePathRule Id=""$id"" Name=""temp-$appPath"" Description=""Denies access to $appPath"" UserOrGroupSid=""$identitySid"" Action=""Deny"">
<Conditions>
<FilePathCondition Path=""$appPath"" />
</Conditions>
</FilePathRule>
</RuleCollection>
</AppLockerPolicy>" | out-file $tmpFileName
Set-AppLockerPolicy -XMLPolicy $tmpFileName -Merge
Remove-Item $tmpFileName
开锁:
Import-Module AppLocker
$tmpFileName = "c:\temp\temp.xml"
$appPath = "C:\Windows\system32\calc.exe"
[xml]$ruleXml = Get-AppLockerPolicy -Local -XML
$ruleNode = $ruleXml.SelectSingleNode("//FilePathRule[@Name='temp-$appPath']")
if ($ruleNode -ne $null)
{
[void]$ruleNode.ParentNode.RemoveChild($ruleNode)
$ruleXml.Save($tmpFileName)
Set-AppLockerPolicy -XMLPolicy $tmpFileName
Remove-Item $tmpFileName
}
亲切的问候,莫腾