다음을 통해 공유


스크립트를 사용하여 App Control 정책 배포

참고

비즈니스용 App Control의 일부 기능은 특정 Windows 버전에서만 사용할 수 있습니다. App Control 기능 가용성에 대해 자세히 알아보세요.

이 문서에서는 스크립트를 사용하여 비즈니스용 App Control 정책을 배포하는 방법을 설명합니다. 다음 지침에서는 PowerShell을 사용하지만 모든 스크립팅 호스트에서 작동할 수 있습니다.

이제 하나 이상의 App Control 정책이 이진 양식으로 변환되어야 합니다. 그렇지 않은 경우 비즈니스용 앱 제어 정책 배포에 설명된 단계를 수행합니다.

중요

2024년(24H2) 이전의 Windows 11 업데이트에서 알려진 문제로 인해 항상 메모리 무결성이 사용하도록 설정된 시스템에서 다시 부팅하여 서명된 새 App Control Base 정책을 활성화해야 합니다. CiTool, RefreshPolicy.exe 또는 WMI를 사용하여 정책 활성화를 시작하는 아래의 모든 단계를 건너뜁니다. 대신 정책 이진 파일을 올바른 system32 및 EFI 위치에 복사한 다음 시스템을 다시 시작하여 정책을 활성화합니다.

이 문제는 시스템에서 이미 활성화된 서명된 기본 정책 업데이트, 서명되지 않은 정책 배포 또는 추가 정책 배포(서명 또는 서명되지 않음)에 영향을 주지 않습니다. 또한 메모리 무결성을 실행하지 않는 시스템에 대한 배포에는 영향을 주지 않습니다.

Windows 11 22H2 이상 및 Windows Server 2025 이상에 대한 정책 배포

받은 편지함 CiTool을 사용하여 다음 명령을 사용하여 Windows 11 22H2 및 Windows Server 2025에 서명되고 서명되지 않은 정책을 배포할 수 있습니다. 다음 예제에서 를 App Control 정책 이진 파일의 실제 경로로 바꿔 <Path to policy binary file to deploy> 야 합니다.

# 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]

Windows 11, Windows 10 버전 1903 이상 및 Windows Server 2022 이상에 대한 정책 배포

이 절차를 사용하려면 App Control 정책 새로 고침 도구를 다운로드하여 모든 관리형 엔드포인트에 배포합니다. 앱 제어 정책에서 App Control 정책 새로 고침 도구를 허용하거나 관리되는 설치 관리자를 사용하여 도구를 배포하는지 확인합니다.

  1. 스크립트에서 사용할 변수를 초기화합니다.

    # 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>"
    
  2. 비즈니스용 App Control 정책 이진 파일을 대상 폴더에 복사합니다.

    Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
    
  3. 1-2단계를 적절하게 반복하여 더 많은 App Control 정책을 배포합니다.

  4. RefreshPolicy.exe 실행하여 관리형 엔드포인트에서 모든 App Control 정책을 활성화하고 새로 고칩니다.

    & $RefreshPolicyTool
    

다른 모든 버전의 Windows 및 Windows Server에 대한 정책 배포

WMI를 사용하여 다른 모든 버전의 Windows 및 Windows Server에 정책을 배포합니다.

  1. 스크립트에서 사용할 변수를 초기화합니다.

    # 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"
    
  2. 비즈니스용 앱 제어 정책 이진 파일을 대상으로 복사합니다.

    Copy-Item  -Path $PolicyBinary -Destination $DestinationBinary -Force
    
  3. WMI를 사용하여 App Control 정책 새로 고침 및 활성화

    Invoke-CimMethod -Namespace root\Microsoft\Windows\CI -ClassName PS_UpdateAndCompareCIPolicy -MethodName Update -Arguments @{FilePath = $DestinationBinary}
    

서명된 정책 배포

서명된 App Control 정책을 사용하는 경우 정책을 디바이스의 EFI 파티션에 배포해야 합니다.

  1. EFI 볼륨을 탑재하고 디렉터리가 없는 경우 관리자 권한 PowerShell 프롬프트에서 만듭니다.

    $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 }
    
  2. 서명된 정책을 만든 폴더에 복사합니다.

    Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
    
  3. 시스템을 다시 시작합니다.