4

起動時の 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
}

敬具、モートン

4

0 に答える 0