다음을 통해 공유


DiagnosticLog CSP

다음 목록에서는 DiagnosticLog 구성 서비스 공급자 노드를 보여 줍니다.

DeviceStateData

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/DeviceStateData

CSP가 노출하는 모든 유형의 디바이스 상태 데이터의 루트 노드입니다.

DiagnosticLog CSP 내의 DeviceStateData 기능은 추가 디바이스 정보를 제공합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

DeviceStateData/MdmConfiguration

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10, 버전 1607 [10.0.14393] 이상
./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration

이 노드는 "SNAP"을 사용하여 장치 관리 상태 데이터의 스냅을 트리거합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 Exec, Get

:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Exec>
      <CmdID>2</CmdID>
      <Item>
        <Target>
          <LocURI>./Vendor/MSFT/DiagnosticLog/DeviceStateData/MdmConfiguration</LocURI>
        </Target>
        <Meta>
           <Format xmlns="syncml:metinf">chr</Format>
        </Meta>
        <Data>SNAP</Data>
      </Item>
    </Exec>
    <Final/>
  </SyncBody>
</SyncML>

DiagnosticArchive

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive

보관 정의 및 컬렉션에 대한 루트 노드입니다.

DiagnosticLog CSP 내의 DiagnosticArchive 기능은 디바이스를 트리거하여 문제 해결 데이터를 zip 보관 파일로 수집하고 해당 보관 파일을 클라우드 스토리지에 업로드하는 데 사용됩니다.

DiagnosticArchive는 이벤트 로그 이벤트, 레지스트리 값, 앱 또는 OS 로그 파일 컬렉션을 사용하여 앱 설치 실패를 조사하는 IT 관리자와 같은 임시 문제 해결 시나리오를 위해 설계되었습니다.

참고

DiagnosticArchive는 디바이스 문제 해결을 위한 "중단 유리" 백스톱 옵션입니다. 로그 파일과 같은 진단 데이터는 기가바이트 단위로 증가할 수 있습니다. 대량의 데이터를 수집, 전송 및 저장하면 사용자의 디바이스, 네트워크 및 클라우드 스토리지에 부담이 될 수 있습니다. DiagnosticArchive를 호출하는 관리 서버는 데이터 수집 빈도 및 scope 최소화하기 위해 주의해야 합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

DiagnosticArchive/ArchiveDefinition

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveDefinition

이 노드에 대한 실행 작업은 수집할 데이터와 업로드 위치를 설명하는 XML 코드 조각(문자열)을 허용 Collection 합니다. 결과는 압축되어 지정된 SasUrl에 업로드됩니다. 압축된 파일 이름 형식은 입니다 DiagLogs-{ComputerName}-YYYYMMDDTHHMMSSZ.zip.

Windows 10 KB5011543 및 Windows 11 KB5011563 사용하면 XML의 각 지시문에 대한 개별 폴더가 있는 대신 CSP에서 생성된 출력 파일이 평면화된 폴더 구조인지 여부를 결정하는 추가 요소에 대한 추가 지원이 있습니다. 다음 예제에서는 XML을 보여줍니다.Collection

<Collection>
   <!--NOTE: The value shown here is an example only, for more information see the ID documentation which follows the example -->
   <ID>f1e20cb4-9789-4f6b-8f6a-766989764c6d</ID>
   <!--NOTE: The value shown here is an example only, for more information see the SasUrl documentation which follows the example -->
   <SasUrl><![CDATA[https://myaccount.blob.core.windows.net/mycontainer?sp=aw&st=2020-07-01T23:02:07Z&se=2020-07-02T23:02:07Z&sv=2019-10-10&sr=c&sig=wx9%2FhwrczAI0nZL7zl%2BhfZVfOBvboTAnrGYfjlO%2FRFA%3D]]></SasUrl>
   <RegistryKey>HKLM\Software\Policies</RegistryKey>
   <FoldersFiles>%ProgramData%\Microsoft\DiagnosticLogCSP\Collectors\*.etl</FoldersFiles>
   <Command>%windir%\system32\ipconfig.exe /all</Command>
   <Command>%windir%\system32\mdmdiagnosticstool.exe -out %ProgramData%\temp\</Command>
   <FoldersFiles>%ProgramData%\temp\*.*</FoldersFiles>
   <Events>Application</Events>
   <OutputFileFormat>Flattened</OutputFileFormat>
</Collection>

XML에는 요소 내에 Collection 다음 요소가 포함되어야 합니다.

  • ID: ID 값은 이 데이터 수집 요청을 고유하게 식별합니다. 실수로 데이터 수집이 반복되지 않도록 CSP는 ID 값이 동일한 후속 Set 또는 Execute 호출을 무시합니다. CSP는 요청이 수신될 때 값이 채워질 것으로 예상하므로 IT 관리자 또는 관리 서버에서 생성해야 합니다.
  • SasUrl: SasUrl 값은 CSP가 수집된 데이터를 포함하는 zip 파일을 업로드하는 대상 URI입니다. 스토리지 서버가 이 URL에 디바이스의 HTTP PUT을 허용하는 방식으로 스토리지를 프로비전하는 것은 관리 서버의 책임입니다. 예를 들어 디바이스 관리 서비스는 다음을 수행할 수 있습니다.
    • 대상 디바이스(예: Microsoft Azure Blob Storage 컨테이너)에서 연결할 수 있는 클라우드 스토리지 프로비전
    • 스토리지 컨테이너에 대한 소유자(대상 디바이스) 시간 제한 쓰기 액세스 권한을 부여하는 공유 액세스 서명 URL 생성
    • XML을 통해 Collection 대상 디바이스의 CSP에 이 값을 값으로 SasUrl 전달합니다.

또한 XML에는 다음 중 하나를 포함할 수 있는 하나 이상의 데이터 수집 지시문이 포함될 수 있습니다.

  • RegistryKey: 지정된 경로(재귀)에서 모든 키 이름과 값을 내보냅니다.

    • 예상 입력 값: "HKLM\Software\Policies"와 같은 레지스트리 경로입니다.
    • 출력 형식: reg.exe EXPORT 명령의 출력과 유사한 .reg 파일을 만듭니다.
    • 개인 정보 보호책: IT 관리자가 실수로 사용자 생성 문서를 캡처하는 위험을 줄이면서 진단 로그 캡처를 사용하도록 설정하려면 레지스트리 경로가 HKLM 및 HKCR에 있는 경로로 제한됩니다.
  • 이벤트: 명명된 Windows 이벤트 로그에서 모든 이벤트를 내보냅니다.

    • 예상 입력 값: "Application" 또는 "Microsoft-Windows-DeviceGuard/Operational"과 같은 명명된 이벤트 로그 채널입니다.
    • 출력 형식: .evtx 파일을 만듭니다.
  • 명령: 이 지시문 형식을 사용하면 ipconfig.exe 같은 특정 명령을 실행할 수 있습니다. DiagnosticArchive 및 Commands 지시문은 범용 스크립팅 플랫폼이 아닙니다. 이러한 명령은 DiagnosticArchive 컨텍스트에서 기존 로그 파일을 통해 중요한 디바이스 정보를 사용할 수 없는 경우를 처리할 수 있습니다.

    • 예상 입력 값: 경로 및 인수(예: %windir%\\system32\\ipconfig.exe /all)를 포함한 전체 명령줄입니다.
    • 출력 형식: 명령의 콘솔 텍스트 출력은 텍스트 파일에 캡처되고 전체 출력 보관에 포함됩니다. 콘솔 출력이 아닌 파일 출력을 생성할 수 있는 명령의 경우 후속 FolderFiles 지시문을 사용하여 해당 출력을 캡처합니다. 위의 예제 XML은 mdmdiagnosticstool.exe -out 매개 변수를 사용하여 이 패턴을 보여 줍니다.
    • 개인 정보 보호책: IT 관리자가 실수로 사용자 생성 문서를 캡처하는 위험을 줄이면서 진단 데이터 캡처를 사용하도록 설정하려면 다음 명령만 허용됩니다.
      • %windir%\system32\certutil.exe
      • %windir%\system32\dxdiag.exe
      • %windir%\system32\gpresult.exe
      • %windir%\system32\msinfo32.exe
      • %windir%\system32\netsh.exe
      • %windir%\system32\nltest.exe
      • %windir%\system32\ping.exe
      • %windir%\system32\powercfg.exe
      • %windir%\system32\w32tm.exe
      • %windir%\system32\wpr.exe
      • %windir%\system32\dsregcmd.exe
      • %windir%\system32\dispdiag.exe
      • %windir%\system32\ipconfig.exe
      • %windir%\system32\logman.exe
      • %windir%\system32\tracelog.exe
      • %programfiles%\windows defender\mpcmdrun.exe
      • %windir%\system32\MdmDiagnosticsTool.exe
      • %windir%\system32\pnputil.exe
  • FoldersFiles: 지정된 경로(재귀 없이)에서 로그 파일을 캡처합니다.

    • 예상 입력 값: 와일드카드가 있거나 없는 파일 경로(예: "%windir%\System32" 또는 "%programfiles%\*.log").
    • 개인 정보 보호책: IT 관리자가 실수로 사용자 생성 문서를 캡처하는 위험을 줄이면서 진단 로그 캡처를 사용하도록 설정하려면 다음 루트 아래의 경로만 허용됩니다.
      • %PROGRAMFILES%
      • %PROGRAMDATA%
      • %PUBLIC%
      • %WINDIR%
      • %TEMP%
      • %TMP%
    • 또한 다음 확장이 있는 파일만 캡처됩니다.
      • .로그
      • .txt
      • .Dmp
      • .cab
      • .zip
      • .xml
      • .html
      • ..evtx
      • .Etl
  • OutputFileFormat: XML의 각 지시문에 대한 개별 폴더가 있는 대신 폴더 구조를 평면화합니다.

    • "Flattened" 값은 OutputFileFormat에 대해 지원되는 유일한 값입니다. OutputFileFormat이 XML에 없거나 명시적으로 Flattened 이외의 항목으로 설정된 경우 파일 구조는 이전 구조로 유지됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 Exec, Get, Replace

DiagnosticArchive/ArchiveResults

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults

마지막 보관 실행의 결과를 끌어올 수 있습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 가져오기

:

위의 URI로 가져오기는 마지막 진단 요청에 대한 데이터 수집 결과를 반환합니다. 예시:

<SyncML>
    <SyncHdr/>
      <SyncBody>
          <Status>
            <CmdID>1</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>0</CmdRef>
            <Cmd>SyncHdr</Cmd>
            <Data>200</Data>
          </Status>
          <Status>
            <CmdID>2</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>1</CmdRef>
            <Cmd>Get</Cmd>
            <Data>200</Data>
          </Status>
          <Results>
            <CmdID>3</CmdID>
            <MsgRef>1</MsgRef>
            <CmdRef>1</CmdRef>
          <Item>
            <Source>
            <LocURI>./Vendor/MSFT/DiagnosticLog/DiagnosticArchive/ArchiveResults</LocURI>
            </Source>
          <Data>
            <Collection HRESULT="0">
                <ID>f1e20cb4-9789-4f6b-8f6a-766989764c6d</ID>
                <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
                <FoldersFiles HRESULT="0">C:\ProgramData\Microsoft\DiagnosticLogCSP\Collectors\*.etl</FoldersFiles>
                <Command HRESULT="0">%windir%\system32\ipconfig.exe /all</Command>
                <Command HRESULT="-2147024637">%windir%\system32\mdmdiagnosticstool.exe -out c:\ProgramData\temp\</Command>
                <FoldersFiles HRESULT="0">c:\ProgramData\temp\*.*</FoldersFiles>
                <Events HRESULT="0">Application</Events>
              </Collection>
          </Data>
          </Item>
          </Results>
          <Final/>
      </SyncBody>
</SyncML>

결과 데이터를 읽는 방법을 알아보려면 ArchiveResults를 검토하는 방법을 참조하세요.

EtwLog

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog

CSP가 관리하는 모든 유형의 이벤트 로깅 노드의 루트 노드입니다.

DiagnosticLog CSP의 ETW(Windows용 이벤트 추적) 로그 기능은 다음과 같은 유형의 이벤트 추적을 제어하는 데 사용됩니다.

ETW 로그 기능은 고급 사용을 위해 설계되었으며 개발자가 ETW에 대해 잘 알고 있다고 가정합니다. 자세한 내용은 이벤트 추적 정보를 참조하세요.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

EtwLog/채널

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels

등록된 "채널" 노드의 루트 노드입니다.

이벤트 추적 유형은 특정 채널에서 이벤트 데이터를 내보냅니다. 사용자는 전체 이름(예: Microsoft-Windows-AppModel-Runtime/관리)을 사용하여 채널 노드를 추가하거나 삭제할 수 있습니다.

DiagnosticLog CSP는 각 채널 노드에 대한 로그 파일을 유지 관리하며 시작 명령이 동일한 채널 노드에서 다시 트리거되는 경우 로그 파일을 덮어씁니다.

각 채널 노드에 대해 사용자는 다음을 수행할 수 있습니다.

  • 채널 이벤트 데이터를 로그 파일(.evtx)로 내보냅니다.
  • 이벤트 로그 서비스에서 채널을 사용하거나 사용하지 않도록 설정하여 채널에 기록되는 이벤트 데이터를 허용하거나 허용하지 않습니다.
  • 채널 이벤트 데이터를 내보내는 동안 이벤트를 필터링할 XPath 쿼리를 지정합니다.

DiagnosticLog를 사용하여 PC 또는 모바일 디바이스에서 원격으로 로그를 수집하는 방법에 대한 자세한 내용은 MDM 로그 수집을 참조하세요.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

EtwLog/Channels/{ChannelName}

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}

각 동적 노드는 등록된 '채널' 노드를 나타냅니다. 노드 이름은 유효한 Windows 이벤트 로그 채널 이름(예: "Microsoft-Client-Licensing-Platform%2FAdmin")이어야 합니다. LocURI에서 이름을 지정할 때 URL이 인코딩되어야 합니다. 그렇지 않으면 예기치 않게 다른 URI로 변환됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 추가, 삭제, 가져오기
동적 노드 명명 UniqueName: 노드 이름은 "Microsoft-Client-Licensing-Platform%2FAdmin"과 같은 유효한 Windows 이벤트 로그 채널 이름이어야 합니다.

:

  • 채널 추가

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • 채널 삭제

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Channels/{ChannelName}/Export
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Export

이 노드는 이 노드의 연결된 Windows 이벤트 채널에서 로그 파일로 이벤트 내보내기를 트리거합니다. 로그 파일의 확장명은 Windows 이벤트 채널 로그의 표준 확장명인 .evtx입니다. "Get" 명령은 이 노드의 이름을 반환합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 null
액세스 유형 Exec, Get

:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Exec>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/Export</LocURI>
                </Target>
            </Item>
        </Exec>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Channels/{ChannelName}/Filter
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/Filter

이 노드는 채널에서 로그 파일을 내보낼 때 이벤트를 필터링하기 위해 xpath 쿼리 문자열을 설정하거나 가져오는 데 사용됩니다. 기본값은 빈 문자열입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 가져오기, 바꾸기
기본 값 ""

:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/Filter</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Channels/{ChannelName}/State
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/{ChannelName}/State

이 노드는 시스템에서 이 노드의 연결된 Windows 이벤트 채널의 '사용' 상태를 설정하거나 가져오는 데 사용됩니다. "TRUE"로 설정하면 채널이 활성화됩니다. "FALSE"로 설정하면 채널이 비활성화됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 bool
액세스 유형 가져오기, 바꾸기

허용되는 값:

설명
true 채널이 활성화되어 있습니다.
false 채널이 비활성화되었습니다.

:

  • 채널 상태 가져오기:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Get>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/State</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • 채널 상태 설정:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Channels/Microsoft-Client-Licensing-Platform%2FAdmin/State</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">bool</Format>
                    </Meta>
                    <Data>false</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    

EtwLog/Collectors

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors

등록된 "수집기" 노드의 루트 노드입니다.

이 유형의 이벤트 추적은 등록된 ETW 공급자 컬렉션에서 이벤트 데이터를 수집합니다. 이벤트 수집기는 등록된 ETW 공급자의 컨테이너입니다. 사용자는 수집기 노드를 추가 또는 삭제하고 이 수집기에서 여러 공급자를 등록하거나 등록 취소할 수 있습니다.

{CollectorName} CSP 내에서 고유해야 하며 유효한 이벤트 채널 이름 또는 공급자 GUID가 아니어야 합니다.

DiagnosticLog CSP는 각 수집기 노드에 대한 로그 파일을 유지 관리하며 시작 명령이 동일한 수집기 노드에서 다시 트리거되는 경우 로그 파일을 덮어씁니다.

각 수집기 노드에 대해 사용자는 다음을 수행할 수 있습니다.

  • 등록된 모든 공급자와 함께 세션을 시작하거나 중지합니다.
  • 쿼리 세션 상태.
  • 추적 로그 파일 모드를 변경합니다.
  • 추적 로그 파일 크기 제한을 변경합니다.

추적 세션이 진행되는 동안에는 구성 로그 파일 모드 및 로그 파일 크기 제한이 적용되지 않습니다. 이러한 특성은 사용자가 현재 세션을 중지한 다음 이 수집기를 위해 다시 시작할 때 적용됩니다.

이 수집기에서 등록된 각 공급자에 대해 사용자는 다음을 수행할 수 있습니다.

  • 키워드를 지정하여 이 공급자의 이벤트를 필터링합니다.
  • 추적 수준을 변경하여 이 공급자의 이벤트를 필터링합니다.
  • 추적 세션에서 공급자를 사용하거나 사용하지 않도록 설정합니다.

상태, 키워드TraceLevel의 변경 내용은 추적 세션이 진행되는 동안 즉시 적용됩니다.

참고

Microsoft-WindowsPhone-Enterprise-Diagnostics-Provider(GUID - 3da494e4-0fe2-415C-b895-fb5265c5c83b)에는 Windows에 기본 제공되는 필수 디버그 리소스 파일이 있으므로 원격 컴퓨터에서 로그 파일을 디코딩할 수 있습니다. 다른 로그에는 디코딩하는 데 필요한 디버그 리소스가 없을 수 있습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

:

이 CSP를 사용하여 진단 수집하려면 다음을 수행합니다.

  1. 대상 ETW 공급자의 컨테이너에 대해 CollectorName 을 지정합니다.
  2. (선택 사항) 다음 옵션을 사용하여 로깅 및 로그 파일 매개 변수를 설정합니다.
  3. EtwLog/Collectors/CollectorName/Providers/ProviderGUID의 추가 작업에 ProviderGUID를 제공하여 하나 이상의 대상 ETW 공급자를 나타냅니다.
  4. (선택 사항) 다음 옵션을 사용하여 로깅 및 로그 파일 매개 변수를 설정합니다.
  5. TraceControl EXECUTE 명령 "START"를 사용하여 로깅을 시작합니다.
  6. 로그 파일에서 작업을 생성하는 대상 디바이스에서 작업을 수행합니다.
  7. TraceControl EXECUTE 명령 "STOP"을 사용하여 로깅을 중지합니다.
  8. FileDownload%temp% 설명된 로그 파일 읽기 방법을 사용하여 폴더에 있는 로그 파일을 수집합니다.

EtwLog/Collectors/{CollectorName}

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}

각 동적 노드는 등록된 'Collector' 노드를 나타냅니다. CSP는 고유 식별자로 사용되는 이름으로 이 수집기용 ETW 추적 세션을 유지 관리합니다. 수집기에서 유효한 ETW 공급자를 등록 및 등록 취소할 수 있습니다. 수집기 관련 추적 세션은 공급자의 상태가 '사용'인 경우 등록된 공급자를 사용하도록 설정합니다. 각 공급자의 상태, 추적 수준 및 키워드를 별도로 제어할 수 있습니다. 이 노드의 이름은 유효한 Windows 이벤트 채널 이름이 되어서는 안 됩니다. 이미 등록된 '공급자' 노드 이름과 같지 않은 경우 etw 공급자 guid일 수 있습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 추가, 삭제, 가져오기
동적 노드 명명 ServerGeneratedUniqueIdentifier

:

  • 수집기 추가

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • 수집기 삭제

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/LogFileSizeLimitMB

이 노드는 이 수집기 노드의 연결된 추적 세션의 추적 로그 파일 크기 제한(메가바이트)을 설정하거나 가져오는 데 사용됩니다. 값 범위는 1~2048입니다. 기본값은 4입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기, 바꾸기
허용되는 값 범위: [1-2048]
기본 값 4
EtwLog/Collectors/{CollectorName}/Providers
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers

이 수집기 노드에 등록된 모든 공급자의 루트 노드입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}

각 동적 노드는 이 수집기 노드에 등록된 ETW 공급자를 나타냅니다. 노드 이름은 유효한 공급자 GUID여야 합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 추가, 삭제, 가져오기
동적 노드 명명 UniqueName: 노드 이름은 유효한 공급자 GUID여야 합니다.

:

  • 공급자 추가:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Add>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">node</Format>
                    </Meta>
                </Item>
            </Add>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • 공급자 삭제:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Delete>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b</LocURI>
                    </Target>
                </Item>
            </Delete>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/Keywords

이 노드는 이 수집기 노드의 연결된 추적 세션에서 이벤트 공급자의 키워드를 설정하거나 가져오는 데 사용됩니다. 문자열은 16진수 숫자와 너비 16자 형식입니다. 내부적으로 CSP에서 ULONGLONG 데이터 형식으로 변환됩니다. 기본값은 "0"입니다. 즉, 이 공급자의 모든 이벤트가 포함됩니다. 연결된 추적 세션이 진행 중인 경우 새 키워드 설정이 즉시 적용됩니다. 그렇지 않으면 다음에 해당 세션이 시작될 때 적용됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 가져오기, 바꾸기
기본 값 "0"

:

  • 공급자 키워드 가져오기:

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>
        <Get>
          <CmdID>1</CmdID>
          <Item>
            <Target>
              <LocURI>
                ./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/Keywords
              </LocURI>
            </Target>
          </Item>
        </Get>
        <Final/>
      </SyncBody>
    </SyncML>
    
  • 공급자 키워드 설정:

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>
        <Replace>
          <CmdID>4</CmdID>
          <Item>
            <Target>
              <LocURI>
                ./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/Keywords
              </LocURI>
            </Target>
            <Meta>
              <Format xmlns="syncml:metinf">chr</Format>
              <Type>text/plain</Type>
            </Meta>
            <Data>12345678FFFFFFFF</Data>
          </Item>
        </Replace>
        <Final/>
      </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/State

이 노드는 이 수집기 노드의 연결된 추적 세션에서 이벤트 공급자의 상태를 설정하거나 가져오는 데 사용됩니다. 추적 세션이 시작되지 않은 경우 값을 변경하면 세션이 시작될 때 공급자를 사용하도록 설정할지 여부를 제어합니다. 추적 세션이 이미 시작된 경우 해당 값을 변경하면 라이브 추적 세션에서 공급자를 사용하거나 사용하지 않도록 설정합니다. 기본값은 true입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 bool
액세스 유형 가져오기, 바꾸기
기본 값 true

허용되는 값:

설명
true(기본값) 공급자는 추적 세션에서 사용하도록 설정됩니다. 이것이 기본값입니다.
false 추적 세션에서 공급자를 사용할 수 없습니다.

:

공급자 상태 설정:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Replace>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/State</LocURI>
                </Target>
                <Meta>
                    <Format xmlns="syncml:metinf">bool</Format>
                </Meta>
                <Data>false</Data>
            </Item>
        </Replace>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/Providers/{ProviderGuid}/TraceLevel

이 노드는 이 수집기 노드의 연결된 추적 세션에서 이 이벤트 공급자의 추적 수준을 설정하거나 가져오는 데 사용됩니다. 기본값은 5이며 TRACE_LEVEL_VERBOSE. 연결된 추적 세션이 진행 중인 경우 새 추적 수준 설정이 즉시 적용됩니다. 그렇지 않으면 다음에 해당 세션이 시작될 때 적용됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기, 바꾸기
기본 값 5

허용되는 값:

설명
1 TRACE_LEVEL_CRITICAL - 비정상적인 종료 또는 종료 이벤트입니다.
2 TRACE_LEVEL_ERROR - 심각한 오류 이벤트입니다.
3 TRACE_LEVEL_WARNING - 할당 실패와 같은 경고 이벤트입니다.
4 TRACE_LEVEL_INFORMATION - 입력 또는 종료 이벤트와 같은 오류가 없는 이벤트입니다.
5(기본값) TRACE_LEVEL_VERBOSE - 자세한 정보입니다.

:

공급자 TraceLevel을 설정합니다.

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Replace>
            <CmdID>2</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/Providers/3da494e4-0fe2-415C-b895-fb5265c5c83b/TraceLevel</LocURI>
                </Target>
                <Meta>
                    <Format xmlns="syncml:metinf">int</Format>
                </Meta>
                <Data>1</Data>
            </Item>
        </Replace>
        <Final/>
    </SyncBody>
</SyncML>
EtwLog/Collectors/{CollectorName}/TraceControl
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceControl

이 노드는 이 수집기 노드의 연결된 추적 세션의 "시작" 및 "중지"를 트리거하는 것입니다. "Get"은 이 노드의 이름을 반환합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 Exec, Get

허용되는 값:

설명
시작 로그 추적을 시작합니다.
중지 로그 추적을 중지합니다.

:

로깅 작업을 추가한 후 이 노드에서 실행 명령을 실행하여 추적을 시작/중지할 수 있습니다.

  • 수집기 추적 로깅 시작:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Exec>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/TraceControl</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>START</Data>
                </Item>
            </Exec>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • 수집기 추적 로깅 중지:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Exec>
                <CmdID>2</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/DeviceManagement/TraceControl</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">chr</Format>
                    </Meta>
                    <Data>STOP</Data>
                </Item>
            </Exec>
            <Final/>
        </SyncBody>
    </SyncML>
    
EtwLog/Collectors/{CollectorName}/TraceLogFileMode
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceLogFileMode

이 노드는 이 수집기 노드의 연결된 추적 세션의 추적 로그 파일 모드를 설정하거나 가져오는 데 사용됩니다. 허용되는 값은 1과 2뿐이며 EVENT_TRACE_FILE_MODE_SEQUENTIAL EVENT_TRACE_FILE_MODE_CIRCULAR. 기본값은 1입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기, 바꾸기
기본 값 1

허용되는 값:

설명
1(기본값) 이벤트를 로그 파일에 순차적으로 EVENT_TRACE_FILE_MODE_SEQUENTIAL-Writes. 파일이 최대 크기에 도달하면 중지됩니다.
2 로그 파일에 이벤트를 EVENT_TRACE_FILE_MODE_CIRCULAR-Writes. 파일이 최대 크기에 도달하면 가장 오래된 이벤트가 들어오는 이벤트로 바뀝니다.
EtwLog/Collectors/{CollectorName}/TraceStatus
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/EtwLog/Collectors/{CollectorName}/TraceStatus

이 노드는 이 수집기 노드의 연결된 추적 세션의 상태 가져오는 데 사용됩니다. 1은 "진행 중"을 의미합니다. 0은 "시작되지 않았거나 중지되지 않음"을 의미합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기

FileDownload

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload

csp에서 로그 파일 다운로드와 관련된 모든 csp 노드의 루트 노드입니다.

DiagnosticLog CSP의 FileDownload 기능을 사용하면 관리 서버가 디바이스에서 직접 데이터를 끌어올 수 있습니다. FileDownload 컨텍스트에서 클라이언트 및 서버 역할은 개념적으로 반전되며 관리 서버는 관리 디바이스에서 데이터를 다운로드하는 클라이언트 역할을 합니다.

로그 파일 읽기:

  1. ./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel에서 로그 파일을 열거합니다.
  2. 열거형 결과에서 로그 파일을 선택합니다.
  3. DM 서버 페이로드 제한당 BlockSizeKB 를 설정합니다.
  4. BlockCount를 가져와서 총 읽기 요청을 확인합니다.
  5. BlockIndexToRead를 설정하여 읽기 시작점을 초기화합니다.
  6. 업로드 로그 블록에 대한 BlockData 를 가져옵니다.
  7. BlockIndexToRead를 늘입니다.
  8. BlockIndexToRead == (BlockIndexToRead – 1)까지 5~7단계를 반복합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

FileDownload/DMChannel

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel

csp 노드를 로깅하여 생성된 연결된 로그 파일에 대한 파일 다운로드를 제어하는 데 사용되는 모든 csp 노드의 루트 노드입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

FileDownload/DMChannel/{FileContext}

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}

각 동적 노드는 로깅 CSP 노드('EtwLog' 노드 아래)에서 생성된 로그 파일에 해당하는 'FileContext' 노드를 나타냅니다. 노드 이름은 등록된 '공급자', '수집기' 또는 '채널' 노드의 이름이어야 합니다. 로그 파일 및 해당 위치는 노드 이름에 따라 CSP에 의해 결정됩니다. 파일 다운로드는 로그 파일을 구성된 블록 크기의 여러 블록으로 나눈 다음 MDM 서버에서 요청한 대로 블록을 전송하여 수행됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기
동적 노드 명명 UniqueName: 노드 이름은 등록된 '공급자', '수집기' 또는 '채널' 노드의 이름이어야 합니다.
FileDownload/DMChannel/{FileContext}/BlockCount
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockCount

이 노드는 연결된 로그 파일에 대한 총 블록 수를 가져오는 데 사용됩니다. 로그 파일이 아직 생성되지 않은 경우 반환된 값은 -1입니다. 추적 세션이 진행 중이면 반환되는 값은 -2입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기

:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockCount</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
FileDownload/DMChannel/{FileContext}/BlockData
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockData

이 노드는 'BlockIndexToRead' 노드가 가리키는 블록의 이진 데이터를 가져오는 데 사용됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 b64
액세스 유형 가져오기

:

<?xml version="1.0"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
        <Get>
            <CmdID>1</CmdID>
            <Item>
                <Target>
                    <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockData</LocURI>
                </Target>
            </Item>
        </Get>
        <Final/>
    </SyncBody>
</SyncML>
FileDownload/DMChannel/{FileContext}/BlockIndexToRead
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockIndexToRead

이 노드는 'BlockData' 노드의 데이터 블록을 가리키는 블록 인덱스 설정 및 가져오기에 사용됩니다. 값 범위는 0~(BlockCount-1)입니다.

:

  • BlockIndexToRead를 0으로 설정합니다.

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockIndexToRead</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>0</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • BlockIndexToRead를 1로 설정합니다.

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockIndexToRead</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>1</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기, 바꾸기
FileDownload/DMChannel/{FileContext}/BlockSizeKB
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/BlockSizeKB

이 노드는 연결 로그 파일을 다운로드하기 위해 블록 크기(킬로바이트)를 설정하거나 가져오는 데 사용됩니다. 값 범위는 1~16입니다. 기본값은 4입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 가져오기, 바꾸기
허용되는 값 범위: [1-16]
기본 값 4

:

  • BlockSizeKB 설정:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Replace>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockSizeKB</LocURI>
                    </Target>
                    <Meta>
                        <Format xmlns="syncml:metinf">int</Format>
                    </Meta>
                    <Data>1</Data>
                </Item>
            </Replace>
            <Final/>
        </SyncBody>
    </SyncML>
    
  • BlockSizeKB 가져오기:

    <?xml version="1.0"?>
    <SyncML xmlns="SYNCML:SYNCML1.2">
        <SyncBody>
            <Get>
                <CmdID>1</CmdID>
                <Item>
                    <Target>
                        <LocURI>./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/DeviceManagement/BlockSizeKB</LocURI>
                    </Target>
                </Item>
            </Get>
            <Final/>
        </SyncBody>
    </SyncML>
    
FileDownload/DMChannel/{FileContext}/DataBlocks
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks

연결된 로그 파일에 대한 모든 'BlockNumber' 노드의 루트 노드입니다. 자식의 수는 로그 파일의 총 블록 수여야 합니다. 'BlockCount' 노드의 값이 0보다 작은 경우에는 자식 노드가 없습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기
FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1511 [10.0.10586] 이상
./Vendor/MSFT/DiagnosticLog/FileDownload/DMChannel/{FileContext}/DataBlocks/{BlockNumber}

각 동적 노드는 'BlockNumber' 노드를 나타냅니다. 노드 이름은 이 노드가 나타내는 블록의 인덱스와 같은 정수입니다. 따라서 노드 이름은 0에서 (BlockCount -1) 사이의 범위여야 합니다. 이 노드가 참조하는 블록의 이진 데이터를 반환합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 b64
액세스 유형 가져오기
동적 노드 명명 ClientInventory

정책

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy

진단 설정에 대한 정책을 포함합니다.

최대 로그 크기와 같은 Windows 이벤트 로그 정책을 구성하는 데 사용할 수 있습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

정책/채널

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels

이벤트 로그 채널 설정에 대한 정책을 포함합니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 가져오기

Policy/Channels/{ChannelName}

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}

각 동적 노드는 등록된 '채널' 노드를 나타냅니다. 노드 이름은 유효한 Windows 이벤트 로그 채널 이름(예: "Microsoft-Client-Licensing-Platform%2FAdmin")이어야 합니다. LocURI에서 이름을 지정할 때 URL이 인코딩되어야 합니다. 그렇지 않으면 예기치 않게 다른 URI로 변환됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 node
액세스 유형 추가, 삭제, 가져오기
동적 노드 명명 UniqueName: 노드 이름은 Microsoft-Client-Licensing-Platform%2FAdmin과 같은 유효한 Windows 이벤트 로그 채널 이름이어야 합니다. LocURI에서 이름을 지정할 때 URL로 인코딩되어야 합니다. 그렇지 않으면 예기치 않게 다른 URI로 변환될 수 있습니다.

:

  • 채널 추가

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>2</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">node</Format>​
              <Type></Type>​
            </Meta>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • 채널 삭제

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>3</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • 채널 가져오기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>4</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/ActionWhenFull
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/ActionWhenFull

로그 파일이 최대 크기에 도달하면 수행할 작업입니다. "잘림", "덮어쓰기", "보관".

이 정책 설정을 사용하지 않거나 구성하지 않으면 로컬로 구성된 값이 기본값으로 사용됩니다. 받은 편지함 또는 ISV에 의해 설치된 모든 채널은 자체 로컬 구성을 정의해야 하며 관리자가 해당 구성을 변경할 수 있습니다. 이 정책을 통해 설정된 값은 재정의되지만 로컬 구성을 대체하지는 않습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 추가, 삭제, 가져오기, 바꾸기

허용되는 값:

설명
잘라야 로그 파일이 최대 파일 크기에 도달하면 새 이벤트가 로그에 기록되지 않고 손실됩니다.
Overwrite 로그 파일이 최대 파일 크기에 도달하면 새 이벤트가 이전 이벤트를 덮어씁니다.
Archive 로그 파일이 최대 크기에 도달하면 로그 파일은 "보관 위치" 정책 설정에 지정된 위치에 저장됩니다. 보관 위치 값이 설정되지 않은 경우 새 파일은 현재 로그 파일과 동일한 디렉터리에 저장됩니다.

:

  • ActionWhenFull 추가

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>14</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>Archive</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • 삭제 작업WhenFull

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>15</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • ActionWhenFull 가져오기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>13</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • ActionWhenFull 바꾸기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>16</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/ActionWhenFull​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>Truncate</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/Enabled
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/Enabled

이 정책 설정은 채널을 사용하도록 설정할지 아니면 사용하지 않도록 설정해야 하는지를 지정합니다. 사용하려면 값을 TRUE로 설정하고 FALSE를 사용하지 않도록 설정합니다.

이 정책 설정을 사용하지 않거나 구성하지 않으면 로컬로 구성된 값이 기본값으로 사용됩니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 bool
액세스 유형 추가, 삭제, 가져오기, 바꾸기

허용되는 값:

설명
true 채널을 사용하도록 설정합니다.
false 채널을 사용하지 않도록 설정합니다.

:

  • 사용 추가

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>18</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">bool</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>TRUE</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • 삭제 사용

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>19</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • 사용 설정

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>17</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • Replace Enabled

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>20</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/Enabled​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">bool</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>FALSE</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/MaximumFileSize
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/MaximumFileSize

채널 로그 파일의 최대 크기(MB)입니다.

  • 이 정책 설정을 사용하도록 설정하면 최대 로그 파일 크기를 1메가바이트에서 2테라바이트 단위로 구성할 수 있습니다.
  • 이 정책 설정을 사용하지 않거나 구성하지 않으면 로그 파일의 최대 크기가 로컬로 구성된 값으로 설정됩니다. 이 값은 로그 속성 대화 상자를 사용하여 로컬 관리자가 변경할 수 있으며 기본값은 1메가바이트입니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 int
액세스 유형 추가, 삭제, 가져오기, 바꾸기
허용되는 값 범위: [1-2000000]
기본 값 1

:

  • MaximumFileSize 추가

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>6</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">int</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>3</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • MaximumFileSize 삭제

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>7</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • MaximumFileSize 가져오기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>5</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • MaximumFileSize 바꾸기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>8</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/MaximumFileSize​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">int</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>5</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
Policy/Channels/{ChannelName}/SDDL
범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅Windows 10 버전 1903 [10.0.18362] 이상
./Vendor/MSFT/DiagnosticLog/Policy/Channels/{ChannelName}/SDDL

채널에 대한 액세스를 제어하는 SDDL 문자열입니다. 자세한 내용은 ChannelType 복합 형식을 참조하세요.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 추가, 삭제, 가져오기, 바꾸기
대 / 소문자 True

:

  • SDDL 추가

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Add>​
          <CmdID>10</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>YourSDDL</Data>​
          </Item>​
        </Add>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • SDDL 삭제

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Delete>​
          <CmdID>11</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
          </Item>​
        </Delete>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • SDDL 가져오기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Get>​
          <CmdID>9</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
          </Item>​
        </Get>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    
  • SDDL 바꾸기

    <SyncML xmlns="SYNCML:SYNCML1.2">
      <SyncBody>​
        <Replace>​
          <CmdID>12</CmdID>​
          <Item>​
            <Target>​
              <LocURI>​
                ./Vendor/MSFT/DiagnosticLog/Policy/Channels/ChannelName/SDDL​
              </LocURI>​
            </Target>​
            <Meta>​
              <Format xmlns="syncml:metinf">chr</Format>​
              <Type>text/plain</Type>​
            </Meta>​
            <Data>YourNewSDDL</Data>​
          </Item>​
        </Replace>​
        <Final/> ​
      </SyncBody>​
    </SyncML>
    

FileDownload 및 DiagnosticArchive 비교

FileDownload 및 DiagnosticArchive 기능을 모두 사용하여 디바이스에서 관리 서버로 데이터를 가져올 수 있지만 서로 다른 워크플로에 최적화되어 있습니다.

  • FileDownload를 사용하면 관리 서버가 관리 디바이스에서 바이트 수준 추적 데이터를 직접 끌어올 수 있습니다. 데이터 전송은 기존 OMA-DM/SyncML 컨텍스트를 통해 이루어집니다. 고급 모니터링 또는 진단 흐름의 일부로 EtwLogs 기능과 함께 사용됩니다. FileDownlod에는 관리 서버에서 세분화된 오케스트레이션이 필요하지만 전용 클라우드 스토리지가 필요하지 않습니다.
  • DiagnosticArchive를 사용하면 관리 서버가 CSP에 전체 명령 집합을 단일 명령으로 제공할 수 있습니다. 이러한 지침에 따라 CSP는 작업 클라이언트 쪽을 오케스트레이션하여 요청된 진단 파일을 zip 보관 파일에 패키지하고 해당 보관 파일을 클라우드 스토리지에 업로드합니다. 데이터 전송은 HTTP PUT을 통해 OMA-DM 세션 외부에서 발생합니다.

ArchiveResults를 검토하는 방법

ArchiveResults에서 만들고 업로드하는 zip 보관 파일에는 다음 예제와 같은 폴더 구조가 포함되어 있습니다.

PS C:\> dir C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z

    Directory: C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
la---            1/4/2021  2:45 PM                1
la---            1/4/2021  2:45 PM                2
la---           12/2/2020  6:27 PM           2701 results.xml

원본 Collection XML의 각 데이터 수집 지시문은 출력의 폴더에 해당합니다. 예를 들어 첫 번째 지시문은 다음과 같습니다.

<Collection HRESULT="0">
     <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
</Collection>

그런 다음 폴더 1 에 해당 export.reg 파일이 포함됩니다.

파일은 results.xml 출력에 대한 신뢰할 수 있는 맵입니다. 여기에는 각 지시문에 대한 상태 코드가 포함됩니다. 파일의 지시문 순서는 출력 폴더의 순서에 해당합니다. 관리자를 사용하면 results.xml 수집된 데이터, 발생한 오류 및 출력이 포함된 폴더를 확인할 수 있습니다. 예를 들어 다음 results.xml 콘텐츠는 HKLM\Software\Policies의 레지스트리 내보내기가 성공했으며 폴더 1에서 데이터를 찾을 수 있음을 나타냅니다. 또한 명령이 실패했음을 netsh.exe wlan show profiles 나타냅니다.

<Collection HRESULT="0">
    <ID>268b3056-8c15-47c6-a1bd-4bc257aef7b2</ID>
    <RegistryKey HRESULT="0">HKLM\Software\Policies</RegistryKey>
    <Command HRESULT="-2147024895">%windir%\system32\netsh.exe wlan show profiles</Command>
</Collection>

관리자는 'results.xml'에 자동화를 적용하여 데이터에 대한 고유한 기본 보기를 만들 수 있습니다. 예를 들어 다음 PowerShell 한 라이너는 XML에서 상태 코드 및 세부 정보가 포함된 지시문의 정렬된 목록을 추출합니다.

Select-XML -Path results.xml -XPath '//RegistryKey | //Command | //Events | //FoldersFiles' | Foreach-Object -Begin {$i=1} -Process { [pscustomobject]@{DirectiveNumber=$i; DirectiveHRESULT=$_.Node.HRESULT; DirectiveInput=$_.Node.('#text')} ; $i++}

이 예제에서는 다음 출력과 유사한 출력을 생성합니다.

DirectiveNumber DirectiveHRESULT DirectiveInput
--------------- ---------------- --------------
              1 0                HKLM\Software\Policies
              2 0                HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
              3 0                HKLM\Software\Microsoft\IntuneManagementExtension
              4 0                HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
              5 0                %windir%\system32\ipconfig.exe /all
              6 0                %windir%\system32\netsh.exe advfirewall show allprofiles
              7 0                %windir%\system32\netsh.exe advfirewall show global
              8 -2147024895      %windir%\system32\netsh.exe wlan show profiles

다음 예제에서는 zip 보관 파일을 사용자 지정된 평면화된 파일 구조로 추출합니다. 각 파일 이름에는 지시문 번호, HRESULT 등이 포함됩니다. 이 예제는 파일 이름에 포함할 정보와 특수 문자에 대해 선택할 서식 선택에 대해 다양한 선택을 할 수 있도록 사용자 지정할 수 있습니다.

param( $DiagnosticArchiveZipPath = "C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z.zip" )

#region Formatting Choices
$flatFileNameTemplate = '({0:D2}) ({3}) (0x{2:X8})'
$maxLengthForInputTextPassedToOutput = 80
#endregion

#region Create Output Folders and Expand Zip
$diagnosticArchiveTempUnzippedPath = $DiagnosticArchiveZipPath + "_expanded"
if(-not (Test-Path $diagnosticArchiveTempUnzippedPath)){mkdir $diagnosticArchiveTempUnzippedPath}
$reformattedArchivePath = $DiagnosticArchiveZipPath + "_formatted"
if(-not (Test-Path $reformattedArchivePath)){mkdir $reformattedArchivePath}
Expand-Archive -Path $DiagnosticArchiveZipPath -DestinationPath $diagnosticArchiveTempUnzippedPath
#endregion

#region Discover and Move/rename Files
$resultElements = ([xml](Get-Content -Path (Join-Path -Path $diagnosticArchiveTempUnzippedPath -ChildPath "results.xml"))).Collection.ChildNodes | Foreach-Object{ $_ }
$n = 0
foreach( $element in $resultElements )
{
    $directiveNumber = $n
    $n++
    if($element.Name -eq 'ID'){ continue }
    $directiveType = $element.Name
    $directiveStatus = [int]$element.Attributes.ItemOf('HRESULT').psbase.Value
    $directiveUserInputRaw = $element.InnerText
    $directiveUserInputFileNameCompatible = $directiveUserInputRaw -replace '[\\|/\[\]<>\:"\?\*%\.\s]','_'
    $directiveUserInputTrimmed = $directiveUserInputFileNameCompatible.substring(0, [System.Math]::Min($maxLengthForInputTextPassedToOutput, $directiveUserInputFileNameCompatible.Length))
    $directiveSummaryString = $flatFileNameTemplate -f $directiveNumber,$directiveType,$directiveStatus,$directiveUserInputTrimmed
    $directiveOutputFolder = Join-Path -Path $diagnosticArchiveTempUnzippedPath -ChildPath $directiveNumber
    $directiveOutputFiles = Get-ChildItem -Path $directiveOutputFolder -File
    foreach( $file in $directiveOutputFiles)
    {
        $leafSummaryString = $directiveSummaryString,$file.Name -join ' '
        Copy-Item $file.FullName -Destination (Join-Path -Path $reformattedArchivePath -ChildPath $leafSummaryString)
    }
}
#endregion
Remove-Item -Path $diagnosticArchiveTempUnzippedPath -Force -Recurse

이 예제 스크립트는 다음 파일 집합과 유사한 파일 집합을 생성합니다. 이는 관리자가 하위 폴더를 탐색하거나 반복적으로 참조할 필요 없이 결과를 대화형으로 검색하는 데 유용한 보기일 results.xml 수 있습니다.

PS C:\> dir C:\DiagArchiveExamples\DiagLogs-MYDEVICE-20201202T182748Z.zip_formatted | format-table Length,Name

  Length Name
  ------ ----
   46640 (01) (HKLM_Software_Policies) (0x00000000) export.reg
  203792 (02) (HKLM_Software_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
  214902 (03) (HKLM_Software_Microsoft_IntuneManagementExtension) (0x00000000) export.reg
  212278 (04) (HKLM_SOFTWARE_WOW6432Node_Microsoft_Windows_CurrentVersion_Uninstall) (0x00000000) export.reg
    2400 (05) (_windir__system32_ipconfig_exe__all) (0x00000000) output.log
    2147 (06) (_windir__system32_netsh_exe_advfirewall_show_allprofiles) (0x00000000) output.log
    1043 (07) (_windir__system32_netsh_exe_advfirewall_show_global) (0x00000000) output.log
      59 (08) (_windir__system32_netsh_exe_wlan_show_profiles) (0x80070001) output.log
    1591 (09) (_windir__system32_ping_exe_-n_50_localhost) (0x00000000) output.log
    5192 (10) (_windir__system32_Dsregcmd_exe__status) (0x00000000) output.log

구성 서비스 공급자 참조