MSIX 앱 연결에서 앱 연결로 MSIX 패키지 마이그레이션
앱 연결은 MSIX 앱 연결을 통해 관리 및 사용자 환경을 개선합니다. MSIX 앱 연결을 사용하는 경우 PowerShell 스크립트를 사용하여 MSIX 패키지를 앱 연결로 마이그레이션할 수 있습니다.
마이그레이션 스크립트는 다음 작업을 수행할 수 있습니다.
새 앱 연결 패키지 개체를 만들고 필요한 경우 원래 MSIX 패키지 개체를 삭제할 수 있습니다.
호스트 풀 및 MSIX 패키지와 연결된 애플리케이션 그룹에서 권한을 복사합니다.
호스트 풀 및 MSIX 패키지의 위치 및 리소스 그룹을 복사합니다.
로그 마이그레이션 작업.
필수 조건
마이그레이션 스크립트를 사용하려면 다음이 필요합니다.
MSIX 앱 연결과 함께 하나 이상의 MSIX 패키지가 추가된 유효성 검사 환경으로 구성된 호스트 풀입니다.
호스트 풀에 할당된 데스크톱 가상화 기여자 Azure RBAC(역할 기반 액세스 제어) 역할이 있는 Azure 계정.
PowerShell을 사용하는 로컬 디바이스입니다. 최신 버전의 Az PowerShell 및 Microsoft Graph PowerShell SDK 가 설치되어 있는지 확인합니다. 특히 다음 모듈이 필요합니다.
- Az.DesktopVirtualization
- Az.Accounts
- Az.Resources
- Microsoft.Graph.Authentication
매개 변수
마이그레이션 스크립트와 함께 사용할 수 있는 매개 변수는 다음과 같습니다.
매개 변수 | 설명 |
---|---|
MsixPackage |
앱 연결 개체로 마이그레이션할 MSIX 패키지 개체입니다. 이 값은 파이프라인을 통해 전달할 수 있습니다. |
PermissionSource |
새 앱 연결 개체에 대한 사용 권한을 가져올 위치입니다. 기본적으로 권한이 부여되지 않습니다. 옵션은 다음과 같습니다.
|
HostPoolsForNewPackage |
새 앱 연결 개체를 연결할 호스트 풀의 리소스 ID입니다. 기본값은 호스트 풀이 아닙니다. 호스트 풀은 연결된 앱 연결 패키지와 동일한 위치에 있어야 합니다. |
TargetResourceGroupName |
새 앱 연결 개체를 저장할 리소스 그룹입니다. 기본적으로 MSIX 패키지가 연결된 호스트 풀의 리소스 그룹으로 설정됩니다. |
Location |
새 앱 연결 개체를 만드는 Azure 지역입니다. 기본적으로 MSIX 패키지가 연결된 호스트 풀의 위치입니다. 앱 연결 패키지는 연결된 호스트 풀과 동일한 위치에 있어야 합니다. |
DeleteOrigin |
마이그레이션 후 원본 MSIX 패키지를 삭제합니다. |
IsActive |
새 앱 연결 개체를 사용하도록 설정합니다. |
DeactivateOrigin |
마이그레이션 후 원본 MSIX 패키지 개체를 사용하지 않도록 설정합니다. |
PassThru |
새 앱 연결 개체를 전달합니다.
Passthru 는 만든 패키지의 개체를 반환합니다. 이 값을 검사하거나 다른 PowerShell 명령에 전달하려면 이 값을 사용합니다. |
LogInJSON |
로그 파일에 JSON 형식으로 씁니다. |
LogFilePath |
로그 파일의 경로입니다. 기본값은 MsixMigration[Timestamp].log 임시 폴더(예: C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log .)입니다. 로깅 경로는 스크립트를 실행할 때 콘솔에 기록됩니다. |
마이그레이션 스크립트 다운로드 및 실행
MSIX 앱 연결에서 앱 연결로 MSIX 패키지를 마이그레이션하는 방법은 다음과 같습니다.
Important
다음 예제에서는 <placeholder>
값을 사용자 고유의 값으로 변경해야 합니다.
로컬 디바이스에서 PowerShell 프롬프트를 엽니다.
PowerShell 스크립트
Migrate-MsixPackagesToAppAttach.ps1
를 다운로드하고 다음 명령을 실행하여 차단을 해제합니다.$url = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/msix-app-attach/MigrationScript/Migrate-MsixPackagesToAppAttach.ps1" $filename = $url.Split('/')[-1] Invoke-WebRequest -Uri $url -OutFile $filename | Unblock-File
다음 명령을 실행하여 필요한 모듈을 가져옵니다.
Import-Module Az.DesktopVirtualization Import-Module Az.Accounts Import-Module Az.Resources Import-Module Microsoft.Graph.Authentication
다음 명령을 실행하고 프롬프트에 따라 Azure 계정에 로그인하여 Azure에 연결합니다.
Connect-AzAccount
다음 명령을 실행하여 Microsoft Graph에 연결합니다.
Connect-MgGraph -Scopes "Group.Read.All"
다음 하위 섹션에는 마이그레이션 스크립트를 사용하는 방법에 대한 몇 가지 예제가 포함되어 있습니다. 사용 가능한 모든 매개 변수에 대한 매개 변수 섹션과 각 매개 변수에 대한 설명을 참조하세요.
팁
마이그레이션 스크립트에 매개 변수를 전달하지 않으면 다음과 같은 기본 동작이 있습니다.
- 새 앱 연결 패키지에 대한 권한이 부여되지 않습니다.
- 새 앱 연결 패키지는 호스트 풀과 연결되지 않으며 비활성 상태입니다.
- 새 앱 연결 패키지는 호스트 풀과 동일한 리소스 그룹 및 위치에 만들어집니다.
- 원래 MSIX 패키지가 여전히 활성 상태이므로 사용하지 않도록 설정하거나 삭제하지 않습니다.
- 로그 정보는 기본 파일 경로에 기록됩니다.
호스트 풀 및 애플리케이션 그룹에 추가된 특정 MSIX 패키지 마이그레이션
다음은 MSIX 앱 연결에서 앱 연결로 호스트 풀에 추가된 특정 MSIX 패키지를 마이그레이션하는 예제입니다. 이 예제는 다음과 같이 작성되었습니다.
- MSIX 패키지를 호스트 풀과 동일한 리소스 그룹 및 위치로 마이그레이션합니다.
- 앱 연결의 MSIX 패키지를 RemoteApp 애플리케이션 그룹 원본과 동일한 호스트 풀 및 동일한 사용자에게 할당합니다.
- 호스트 풀에서 MSIX 앱 연결 에 기존 MSIX 패키지 구성을 활성 상태로 둡니다. MSIX 패키지를 즉시 사용하지 않도록 설정하려면 매개 변수를
-DeactivateOrigin
사용합니다. - 앱 연결 에서 새 MSIX 패키지 구성을 비활성 상태로 설정합니다. MSIX 패키지를 즉시 사용하도록 설정하려면 매개 변수를
-IsActive
사용합니다. - 로그 정보를 기본 파일 경로 및 형식에 씁니다.
동일한 PowerShell 프롬프트에서 다음 명령을 실행하여 호스트 풀에 추가된 MSIX 패키지 목록을 가져옵니다.
$parameters = @{ HostPoolName = '<HostPoolName>' ResourceGroupName = '<ResourceGroupName>' } Get-AzWvdMsixPackage @parameters | Select-Object DisplayName, Name
다음 예제와 유사하게 출력됩니다.
DisplayName Name ----------- ---- MyApp hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
마이그레이션하려는 MSIX 패키지를 찾아 이전 출력의
Name
매개 변수에서 값을 사용합니다.$parameters = @{ HostPoolName = '<HostPoolName>' ResourceGroupName = '<ResourceGroupName>' } $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>' $hostPoolId = (Get-AzWvdHostPool @parameters).Id
다음 명령을 실행하여 MSIX 패키지를 마이그레이션합니다.
$parameters = @{ PermissionSource = 'RAG' HostPoolsForNewPackage = $hostPoolId PassThru = $true } $msixPackage | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters
호스트 풀에 추가된 모든 MSIX 패키지 마이그레이션
다음은 MSIX 앱 연결에서 앱 연결로 호스트 풀에 추가된 모든 MSIX 패키지를 마이그레이션하는 예제입니다. 이 예제는 다음과 같이 작성되었습니다.
- MSIX 패키지를 동일한 리소스 그룹 및 위치로 마이그레이션합니다.
- 새 앱 연결 패키지를 동일한 호스트 풀에 추가합니다.
- 모든 앱 연결 패키지를 활성으로 설정합니다.
- 모든 MSIX 패키지를 비활성으로 설정합니다.
- 연결된 데스크톱 애플리케이션 그룹에서 사용 권한을 복사합니다.
- JSON 형식으로 사용자 지정 파일 경로에
C:\MsixToAppAttach.log
로그 정보를 씁니다.
동일한 PowerShell 프롬프트에서 호스트 풀에 추가된 모든 MSIX 패키지를 가져와서 다음 명령을 실행하여 변수에 저장합니다.
$parameters = @{ HostPoolName = '<HostPoolName>' ResourceGroupName = '<ResourceGroupName>' } $msixPackages = Get-AzWvdMsixPackage @parameters $hostPoolId = (Get-AzWvdHostPool @parameters).Id
다음 명령을 실행하여 MSIX 패키지를 마이그레이션합니다.
$logFilePath = "C:\Temp\MsixToAppAttach.log" $parameters = @{ IsActive = $true DeactivateOrigin = $true PermissionSource = 'DAG' HostPoolsForNewPackage = $hostPoolId PassThru = $true LogInJSON = $true LogFilePath = $LogFilePath } $msixPackages | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters