Intune 및 Winget을 사용하여 디바이스에 애플리케이션 배포

Winget


Winget은 Windows 표준 패키지 관리자입니다.
PowerShellWinget 명령을 실행하여 어플리케이션을 설치, 제거 및 업그레이드할 수 있습니다.
자세한 내용은 확인하십시오공식 문서.

주의 사항


Winget을 사용할 때는 프로그램 공급자의 규정에 따라 사용하십시오.
회사로 사용하려면 법무검사 등을 한 뒤 사용해야 한다고 생각합니다.만약 무슨 위반이 있다면, 나는 말할 필요도 없고, 마이크로소프트도 책임을 지지 않을 것이다.반드시 스스로 책임을 지십시오.

사전 준비


Winget은 Windows11에 고정 번들로 묶여 있습니다.윈도10은 묶이지 않았지만 마이크로소프트 스토어 업데이트와 다운로드를 실시하면 마음대로 설치된다.
설치Microsoft 스토어의 어플리케이션 설치가 없으면 링크에서 설치한 후 사용할 수 있습니다.

사용법


PowerShellWinget을 실행하면 사용 방법이 출력됩니다.

처음 실행 시

winget list 명령을 실행하십시오.
Winget을 처음 사용하는 경우すべてのソース契約条件に同意しますか?.
Y를 입력한 후 Enter 키를 눌러 Winget 을 사용할 수 있습니다.다음부터는 안 물어볼게요.

winget에 프로그램을 설치할 때의 동작


다음 작업을 수행합니다.
  • 설치된 애플리케이션에 대해 install 또는 import 명령을 실행할 때 최신 버전
  • 으로 업데이트
  • 최신 애플리케이션이 설치된 경우 오류가 발생하지 않고 정상적으로 종료
  • winget import에 설치할 때 JSON에서 설명한 순서대로 위에서 설치
  • 명령을 사용하여 응용 프로그램 설치


    설치 시 winget install 명령을 사용합니다.
    적용된 IDwinget list가 필요하므로 명령을 사용하여 설치된 어플리케이션 목록에서 ID를 선택합니다.
    를 참고하십시오.
    예를 들어 Google Chrome의 ID는 Google.Chrome임을 알 수 있습니다.

    Chrome을 설치할 때 수행되는 명령은 다음과 같습니다.만약 의원 계약 조건이 다르면 동의를 요구받을 것이다.따라서 Intune에서 다음 명령을 실행하지 못할 수도 있습니다.
    winget install Google.Chrome
    
    <소스 계약조건에 동의하는 상태>.

    <다른 소스 계약 조건의 경우 Intune에 배포하지 못함>.


    소스 설치 방지 계약 조건


    소스 계약을 방지하는 옵션--accept-package-agreements--accept-source-agreements입니다.
    이 옵션을 지정하면 Winget이 설치된 첫 번째 실행 사용자도 설치할 수 있습니다.
    winget install Google.Chrome --accept-package-agreements --accept-source-agreements
    

    Intune에서 Winget을 사용하여 응용 프로그램 게시


    지금까지Winget 단일 명령의 사용 방법을 소개했다.
    Intune에서 디바이스에 배포하는 방법은 아래에 설명되어 있습니다.

    PowerShell 스크립트로 배포


    이 스크립트에 로그인한 사용자의 자격 정보를 사용하여 수행 에서 예 를 선택합니다.(아니오로 설정하면 실패)

    성공하면 장치 상태가 성공으로 변경됩니다.

    여러 어플리케이션 통합 설치


    여러 응용 프로그램을 설치하는 데는 사용winget install과 사용winget import의 방법이 있다.

    방법winget install 사용 방법

    winget install 필요한 응용 프로그램의 수량을 열거함으로써 여러 응용 프로그램을 집중적으로 설치할 수 있다.
    예를 들어 Chrome, Acrobat Reader, Slack을 설치할 때는 다음과 같습니다.
    winget install Google.Chrome --accept-package-agreements --accept-source-agreements
    winget install Adobe.Acrobat.Reader.64-bit --accept-package-agreements --accept-source-agreements
    winget install SlackTechnologies.Slack --accept-package-agreements --accept-source-agreements
    

    방법winget import 사용 방법

    winget import <JSONファイルパス> 명령을 통해 JSON에 기술된 응용 프로그램을 통일적으로 설치할 수 있습니다.

    JSON의 만드는 법.

    winget export <JSONファイルパス>를 통해 출력할 수 있습니다.
    예를 들어 다음 JSON은 Slack, Adobe Acrobat Reader, Chrome가 설치된 상태에서 export가 설치된 JSON입니다.
    앞으로 보내고 싶은 애플리케이션이 늘었더라도 JSON에 추가 기록을 남기면 바로 대응할 수 있다.텍스트이므로 버전 관리가 용이합니다.
    winget_export.json
    {
    	"$schema" : "https://aka.ms/winget-packages.schema.2.0.json",
    	"CreationDate" : "2022-04-20T00:51:28.181-00:00",
    	"Sources" : 
    	[
    		{
    			"Packages" : 
    			[
    				{
    					"PackageIdentifier" : "Microsoft.Edge"
    				},
    				{
    					"PackageIdentifier" : "Microsoft.OneDrive"
    				},
    				{
    					"PackageIdentifier" : "SlackTechnologies.Slack"
    				},
    				{
    					"PackageIdentifier" : "Adobe.Acrobat.Reader.64-bit"
    				},
    				{
    					"PackageIdentifier" : "Google.Chrome"
    				}
    			],
    			"SourceDetails" : 
    			{
    				"Argument" : "https://winget.azureedge.net/cache",
    				"Identifier" : "Microsoft.Winget.Source_8wekyb3d8bbwe",
    				"Name" : "winget",
    				"Type" : "Microsoft.PreIndexed.Package"
    			}
    		}
    	],
    	"WinGetVersion" : "1.2.10271"
    }
    

    Win32에서 Winget 명령을 Win32 응용 프로그램으로 게시


    Intune은 각종 데이터를 intunewin 파일로 변환하여 Win32 응용 프로그램으로 나누어 줍니다.intunewin 파일의 제작 방법과 분배 방법알기 쉬운 소식이 있으니 참고하세요.
  • PowerShell 스크립트와 위 단계에 따라 만든 JSON(winget export. json)을 폴더에 저장하고 intunewin 파일로 변환합니다.

  • winget-import.ps1
    $json = Join-Path $PSScriptRoot "winget_export.json"
    winget import $json --accept-package-agreements --accept-source-agreements
    
  • 도구를 사용하여 폴더를 Intunewin 파일로 변환

  • Intune을 통해 새 Win32 응용 프로그램을 만들고 Intunewin 파일을 업로드합니다.

  • 설치 명령에 다음 내용을 지정합니다(마운트 해제 명령도 같을 수 있습니다).powershell.exe -executionpolicy remotesigned -file "winget-import.ps1"
  • 설치 프로세스에서 사용자
  • 를 선택해야 합니다.
  • 디바이스 재부팅 값을 선택합니다.이번에는'아무것도 안 해'.

  • 필수 조건 값을 선택합니다.이번에는 "windows1021H1"을 선택하겠습니다.

  • 규칙 형식에서 사용자 정의 체크 스크립트 사용 을 선택합니다.

    예를 들어, 다음 스크립트 "wiget list.ps1"을 사용했습니다.
    목록에 있는 응용 프로그램 중 하나가 설치되지 않으면 응용 프로그램을 나누어 주어야 한다.
  • wiget_list.ps1
    [String[]]$id_list = @(
        "Microsoft.Edge",
        "Microsoft.OneDrive",
        "SlackTechnologies.Slack",
        "Adobe.Acrobat.Reader.64-bit",
        "Google.Chrome"
    )
    foreach ($id in $id_list) {
        winget list --exact $id --accept-source-agreements
        if ($LASTEXITCODE -ne 0) {
            exit $LASTEXITCODE
        }
    }
    
  • "만들기"를 위해 대상 장치를 포함하는 그룹을 할당할 추가 값 선택

  • 장치와 Intune 간의 동기화가 성공하면 JSON에 기재된 모든 애플리케이션이 배포됩니다.

  • 끝맺다


    winget은 매우 편리한 도구이지만 Intune에서 사용감이 커지지 않아 기사를 썼습니다.
    윈도 11 표준 묶음, 나는 장래에 윈도 포장 관리의 defact 표준이 되고 싶다.Windows에서도 한꺼번에 어플리케이션을 설치 또는 제거할 수 있어 기분이 좋고, 앞으로도 Intune과의 합병을 고려할 수 있다는 게 더 중요한 기술이다.
    이상은 이렇습니다. 본 보도가 어떤 역할을 할 수 있다면 다행입니다.

    좋은 웹페이지 즐겨찾기