Implementación de directivas de App Control mediante script
Nota
Algunas funcionalidades de App Control para empresas solo están disponibles en versiones específicas de Windows. Obtenga más información sobre la disponibilidad de características de App Control.
En este artículo se describe cómo implementar directivas de App Control para empresas mediante script. Las instrucciones siguientes usan PowerShell, pero pueden trabajar con cualquier host de scripting.
Ahora debe tener una o varias directivas de Control de aplicaciones convertidas en formato binario. Si no es así, siga los pasos descritos en Implementación de directivas de App Control para empresas.
Importante
Debido a un problema conocido en Windows 11 actualizaciones anteriores a 2024 (24H2), siempre debe activar nuevas directivas de App Control Base firmadas con un reinicio en sistemas con la integridad de memoria habilitada. Omita todos los pasos siguientes que usan CiTool, RefreshPolicy.exe o WMI para iniciar una activación de directiva. En su lugar, copie el binario de directiva en las ubicaciones system32 y EFI correctas y, a continuación, active la directiva con un reinicio del sistema.
Este problema no afecta a las actualizaciones de las directivas base firmadas que ya están activas en el sistema, la implementación de directivas sin firmar o la implementación de directivas complementarias (firmadas o sin firmar). Tampoco afecta a las implementaciones en sistemas que no ejecutan integridad de memoria.
Implementar directivas para Windows 11 22H2 y versiones posteriores, y Windows Server 2025 y versiones posteriores
Puede usar la bandeja de entrada CiTool para implementar directivas firmadas y sin firmar en Windows 11 22H2 y Windows Server 2025 con los siguientes comandos. Asegúrese de reemplazar <Path to policy binary file to deploy>
en el ejemplo siguiente por la ruta de acceso real al archivo binario de directiva de App Control.
# Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML)
$PolicyBinary = "<Path to policy binary file to deploy>"
CiTool --update-policy $PolicyBinary [-json]
Implementar directivas para Windows 11, Windows 10 versión 1903 y posteriores y Windows Server 2022 y versiones posteriores
Para usar este procedimiento, descargue y distribuya la herramienta de actualización de directivas de App Control a todos los puntos de conexión administrados. Asegúrese de que las directivas de App Control permiten la herramienta de actualización de directivas de App Control o usan un instalador administrado para distribuir la herramienta.
Inicialice las variables que usará el script.
# Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML) $PolicyBinary = "<Path to policy binary file to deploy>" $DestinationFolder = $env:windir+"\System32\CodeIntegrity\CIPolicies\Active\" $RefreshPolicyTool = "<Path where RefreshPolicy.exe can be found from managed endpoints>"
Copie el archivo binario de la directiva de Control de aplicaciones para empresas en la carpeta de destino.
Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
Repita los pasos del 1 al 2 según corresponda para implementar más directivas de App Control.
Ejecute RefreshPolicy.exe para activar y actualizar todas las directivas de App Control en el punto de conexión administrado.
& $RefreshPolicyTool
Implementación de directivas para todas las demás versiones de Windows y Windows Server
Use WMI para implementar directivas en todas las demás versiones de Windows y Windows Server.
Inicialice las variables que usará el script.
# Policy binary files should be named as SiPolicy.p7b for Windows 10 versions earlier than 1903 $PolicyBinary = "<Path to policy binary file to deploy>" $DestinationBinary = $env:windir+"\System32\CodeIntegrity\SiPolicy.p7b"
Copie el binario de la directiva de Control de aplicaciones para empresas en el destino.
Copy-Item -Path $PolicyBinary -Destination $DestinationBinary -Force
Actualización y activación de la directiva de App Control mediante WMI
Invoke-CimMethod -Namespace root\Microsoft\Windows\CI -ClassName PS_UpdateAndCompareCIPolicy -MethodName Update -Arguments @{FilePath = $DestinationBinary}
Implementación de directivas firmadas
Si usa directivas de Control de aplicaciones firmadas, las directivas deben implementarse en la partición EFI del dispositivo.
Monte el volumen EFI y haga que el directorio, si no existe, en un símbolo del sistema de PowerShell con privilegios elevados:
$MountPoint = 'C:\EFIMount' $EFIDestinationFolder = "$MountPoint\EFI\Microsoft\Boot\CiPolicies\Active" $EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0] if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force } mountvol $MountPoint $EFIPartition if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force }
Copie la directiva firmada en la carpeta creada:
Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
Reinicie el sistema.