프리지아 랩

Windows & Azure +27

Azure AD와 AD 동기화 후 고아가된 계정 삭제 방법


[작업 환경]
Microsoft Windows 10 Pro 빌드 16299


Azure AD Connect를 사용해 AD 온프레미스 AD나 AD가 구현된 Azure VM의 AD 계정을 Azure AD와 동기화한 경우, 해당 Azure AD 테넌트에서 사용자 계정 목록을 보면, [SOURCE] 부분의 값은 Windows Server AD와 Azure Active Directory로 나뉜다. 



전자는 동기화한 원본이 다른 AD DS에서 있고, 후자는 Azure AD 테넌트에서 직접 만든 계정이거나 해당 구독의 전역 관리자 계정인 경우다. 

당연히 구독의 전역 관리자 계정은 삭제할 수 없으며 역할도 변경할 수 없다.



그러나 추가 Azure AD 테넌트에서 만든 계정은 역할 변경도 가능하고 삭제도 할 수 있다. 



Azure AD와 AD 동기화 후 기존 AD DS가 제거된 경우, Azure AD의 계정은 Azure 포털에서 변경도 제거도 하지 못한다. 

이런 경우를 "고아 계정"이라고 한다. 


추가한 Azure AD 테넌트를 제거하려는 경우 이런 고아 계정을 포함해 해당 테넌트에서 만든 계정을 모두 삭제한 상태여야 한다. 

고아 계정의 삭제는 Azure AD PowerShell 모듈을 통해 해결할 수 있다.


현재 Azure Active Directory 관리는 MSOnline PowerShell 모듈(Azure AD PowerShell V1)과 Azure Active Directory PowerShell for Graph(Azure AD PowerShell V2)에서 가능하지만, V1은 사용중지가 예고되어 있으므로, V2 사용을 권장한다. 

V2는 미리보기 버전과 GA 버전이 있으며, 미리보기 버전은 운영환경에서 사용을 권장하지 않는다.


MSOnline PowerShell 모듈

MSOnline PowerShell 모듈은 Windows PowerShell 명령을 위한 Azure Active Directory Module이다. 

이들 명령으로 사용자 관리와 도메인 관리, SSO 구성 등의 관리 작업을 한다.

이 모듈을 설치하는 가장 쉬운 방법은 Install-Module 명령으로 PowerShell 갤러리에서 모듈을 설치하는 것이다.



모듈을 설치하고 포함된 명령을 확인해보면 명령에 공통적으로 "Msol" 키워드가 포함된 것을 알 수 있다.



제일 먼저 할 일은 온라인 서비스에 연결하는 일이다. 

이때 해당 AAD 테넌트의 관리자 자격증명으로 인증해야 한다. 

예를 들어, AAD 테넌트의 이름이 steelfleaadatum이고 관리자 계정이 SyncAdmin인 경우 UPN을 사용한 로그인 화면은 다음과 같다.



인증이 성공하면, Get-MsolUser 명령으로 해당 AAD 테넌트의 계정을 확인할 수 있다.



Azure Active Directory PowerShell for Graph

현재 권장하는 Azure AD PowerShell V2 명령을 사용하려면 물론 해당 모듈을 설치해야 한다.
앞서와 동일한 Install-Module 명령으로 PowerShell 갤러리에서 설치할 수 있는데, 모듈 이름은 AzureAD다. 



모듈 설치 후 관련 명령을 확인해 봤다. 명령의 이름에 공통적으로 "AzureAd"라는 키워드가 포함된 것을 알 수 있다.




제일 먼저 할 일은 Connect-AzureAD 명령으로 Azure AD 테넌트에 연결하는 일이다. 

이때 해당 AAD 테넌트의 관리자 자격증명으로 인증해야 한다. 

예를 들어, AAD 테넌트의 이름이 steelfleaadatum이고 관리자 계정이 SyncAdmin인 경우 UPN을 사용한 로그인 화면은 다음과 같다.



Azure AD 테넌트 연결을 끊을 때는 Disconnect-AzureAD 명령을 사용한다.

인증이 성공하면, Get-AzureADUser 명령으로 해당 AAD 테넌트의 계정을 확인할 수 있다.



이제 Remove-AzureADUser 명령으로 고아 계정을 삭제한다. 

앞서 상위 5개의 일반 사용자 계정을 삭제하고 온프레미스 디렉터리 동기화 서비스 계정을 추가로 삭제한다.



이제, Azure 포털에서 해당 AAD 테넌트의 관리자 계정을 삭제한다.



마지막으로, 구독 전역 관리자 계정만 남긴 상태에서 AAD 테넌트를 삭제를 시도하면, 삭제 가능한지 여부를 확인한다. 

다음 화면은 삭제할 수 있는 모든 조건이 통과 되었음을 나타낸다.



Comment +0

PowerShell ISE의 모듈 브라우저 확장 설치 문제를 해결하는 방법

PowerShell ISE는 확장성을 제공하는 멋진 통합 개발 환경입니다.

ISE의 [추가 기능] 메뉴에서 ISE 기능을 확장하는 애드온을 설치할 수 있는데, 여기에 버그가 있습니다. 

이 글에서 다루는 <모듈 브라우저>는 통합 스크립팅 환경 내에서 모듈을 다운로드하고 관리할 수 있도록 도와주는 확장 기능입니다.


[모듈 브라우저 추가 기능 도구 가져오기]를 클릭하면 실행 파일을 다운로드하고 설치하게 되는데, 설치가 끝난 후 ISE를 다시 시작해보면, 모듈 브라우저에서 "갤러리의 모듈을 조회하는데 NuGet-anycpu.exe가 필요하므로 다운로드해서 설치하겠냐"는 메시지를 표시합니다.


[Accept] 버튼을 클릭하면, 패키지 공급자 'NuGet'을 찾을 수없다는 메시지와 함께 '초기화 실패' 메시지를 표시합니다.


이 문제의 원인은, 모듈 브라우저는 <PowerShell Gallery>에서 새로운 이름(ISEModuleBrowserAddon)으로 배포하는 버전을 설치해야 하는데, ISE의 메뉴 링크가 변경되지 않은 까닭입니다.


이제, 제대로된 ISE용 모듈 브라우저를 설치하는 방법은 다음의 단계를 따라하세요.

1. 관리자 권한으로 실행한 PowerShell ISE의 콘솔창에서 다음 명령을 실행합니다.

Install-Module -Name ISEModuleBrowserAddon


2. C:\Users\[User Profile]\Documents\WindowsPowerShell 위치에서, Microsoft.PowerShellISE_profile.ps1 파일을 찾아서 편집기로 오픈 합니다.
해당 파일이 없다면, 만들어 주세요.


3. 다음 내용을 추가한 다음 파일을 저장합니다.


#Module Browser Begin
#Version: 1.0.0
Add-Type -Path 'C:\Program Files\WindowsPowerShell\Modules\ISEModuleBrowserAddon\1.0.1.0\ISEModuleBrowserAddon.dll'
$moduleBrowser = $psISE.CurrentPowerShellTab.VerticalAddOnTools.Add('Module Browser', [ModuleBrowser.Views.MainView], $true)
$psISE.CurrentPowerShellTab.VisibleVerticalAddOnTools.SelectedAddOnTool = $moduleBrowser
#Module Browser End


4. 열려 있는 PowerShell ISE를 종료하고 다시 실행하면, 모듈 브라우저가 다음 화면 처럼 제대로 실행됩니다.


5. 추가적으로, ISE의 [추가 기능] 메뉴에 있는 [스크립트 브라우저 추가 기능 도구 가져오기]를 설치하려는 경우, 메뉴를 클릭하면 연결되는 웹 사이트 링크는 깨졌습니다. 따라서 PowerShell Gallery 사이트에 가서 확인하거나, 다음 처럼 검색 상자에서 scriptbrowser를 입력하고 검색해 결과를 확인한 뒤 설치할 수 있습니다.


Comment +0

Azure PowerShell 맛보기 실습 가이드

<실무에서 바로쓰는 파워셸> 저자가 2018년 4월 21일 Global Azure Boot Camp 발표를 위해 전날 밤새가며 만든 실습 가이드 입니다.
효율적인 실습을 위해 이 글의 PowerShell 구문을 직접 입력해 실행해보기 바랍니다. 명령 구문 복사는 막아 놓았습니다.

실습하는 방법.

1. 아래의 다운로드 파일을 먼저 내려받아 C:\AzureBC라는 폴더에 저장 해 놓습니다.
2. PowerShell ISE를 관리자 권한으로 실행합니다.
3. Azure 구독을 준비합니다.
4. 모든 PowerShell 구문을 ISE 편집 창에 직접 입력하고, 구문단위로 실행합니다(F8, 선택 실행).
5. Azure 포털에서 결과를 확인합니다. 구문을 수행한 후 바로 확인이 안될 수 있습니다. 그 이유는 해당 구문 다음의 몇 가지 구문이 실행되어야 비로소 해당 작업이 완성되는 경우입니다.
6. 가급적 주석을 달도록 노력해보세요. 주석 표시는 해당 구문 앞에 #을 붙이면 됩니다.

1. Azure 구독 연결 및 리소스 관리

1.1 Azure PowerShell을 사용해 Azure 구독 연결하기

1. PowerShell ISE를 관리자 권한으로 실행합니다.




2. PowerShell ISE의 콘솔 창에서 다음 명령을 입력해 Azure PowerShell을 설치합니다. (인터넷 연결 필수)


Install-Module -Name AzureRm


3. PowerShell ISE의 콘솔 창에서 다음 명령을 입력하고 실행한다.


Connect-AzureRmAccount


4. PowerShell ISE의 콘솔 창에서 다음 명령을 입력해 현재 Azure 구독의 정보를 확인합니다.


Get-AzureRmSubscription


5. 여러개의 구독이 있다면, 현재 세션에서 사용하려는 구독을 선택합니다.


Select-AzureRmSubscription -SubscriptionId 'Your SubscriptionId'


6. PowerShell ISE의 콘솔 창에서 다음 명령을 입력해 리소스 공급자 정보를 확인합니다.


Get-AzureRmResourceProvider


1.2 Azure PowerShell을 사용해 Azure 리소스와 리소스 그룹 관리하기

1. 첫 번째 리소스 그룹을 만듭니다. 자신의 구독을 선택하고, 위치는 EastUS로 합니다.


$rg1=New-AzureRmResourceGroup -Name AzureBCKorRG01 -Location EastUS


2. 뒤에서 사용하기 위해 리소스 그룹의 위치를 변수에 저장합니다.


$locName = (Get-AzureRmResourceGroup -Name $rg1.ResourceGroupName).Location


3. 첫 번째 리소스 그룹과 동일한 위치에 두 번째 리소스 그룹(AzureBCKorRG02)을 만듭니다.


$rg2 = New-AzureRmResourceGroup -Name AzureBCKorRG02 -Location $locName


4. Azure 리소스의 예로 라우트 테이블(AzureBCKor01-rt)을 하나 만듭니다.


$resName = "AzureBCKor01-rt"


New-AzureRmRouteTable -ResourceGroupName $rg1.ResourceGroupName -Location $locName -Name $resName


5. 앞서 만든 리소스를 나타내는 개체를 조회해서 변수($res)에 저장합니다.


$res = Get-AzureRmResource -ResourceName $resName -ResourceGroupName $rg1.ResourceGroupName


6. 라우트 테이블 리소스($res)를 새로운 리소스 그룹($rg2.ResourceGroupName)으로 이동합니다.


Move-AzureRmResource -DestinationResourceGroupName $rg2.ResourceGroupName -ResourceId $res.ResourceId


7. 새로운 리소스 그룹에서 이동한 리소스를 확인합니다.


Get-AzureRmResource | Where-Object ResourceGroupName -eq $rg2.ResourceGroupName


*요약
AzureBCKorRG01와 AzureBCKorRG02라는 두 개의 리소스 그룹을 만들었으며, AzureBCKorRG01에 네트워크 리소스 중 하나인 AzureBCKor01-rt라는 라우터 테이블을 만들었다가, AzureBCKorRG02라는 리소스 그룹으로 이동했습니다.


2. Azure 가상 네트워킹과 가상 머신

2.1 2개의 가상 네트워크와 가상 네트워크 피어링 구성하기.

1. 첫 번째 가상 네트워크에 추가할 서브넷을 2개 만듭니다. 서브넷의 이름은 각각 VNet1SubNet1와 VNet1SubNet2 주소 공간은 각각 10.11.0.0/24와 10.11.1.0/24로 합니다.


$subnet1=New-AzureRmVirtualNetworkSubnetConfig -Name 'VNet1SubNet1' -AddressPrefix '10.11.0.0/24'

$subnet2=New-AzureRmVirtualNetworkSubnetConfig -Name 'VNet1SubNet2' -AddressPrefix '10.11.1.0/24'


2. 주소 공간이 10.11.0.0/16인 AzureBCKor01-VNet1이라는 이름의 첫 번째 가상 네트워크를 만들고 이 리소스에 대한 참조를 $vnet1 변수에 저장합니다.


$vnet1 = New-AzureRmVirtualNetwork -ResourceGroupName $rg1.ResourceGroupName -Name 'AzureBCKor01-VNet1' -AddressPrefix '10.11.0.0/16' -Location $locName -Subnet $subnet1,$subnet2


3. 가상 네트워크의 구성을 업데이트 합니다. 다음 명령을 수행하고 Azure 포털에서 확인해봅니다.


Set-AzureRmVirtualNetwork -VirtualNetwork $vnet1


4. 두 번째 가상 네트워크에 추가할 서브넷을 1개 만듭니다. 서브넷의 이름은 VNet2SubNet1 주소 공간은 10.10.0.0/24로 합니다.


$subnet3=New-AzureRmVirtualNetworkSubnetConfig -Name 'VNet2SubNet1' -AddressPrefix '10.10.0.0/24'


5. 주소 공간이 10.10.0.0/16인 AzureBCKor01-VNet2라는 이름의 두 번째 가상 네트워크를 만들고 이 리소스에 대한 참조를 $vnet2 변수에 저장합니다.


$vnet2 = New-AzureRmVirtualNetwork -ResourceGroupName $rg1.ResourceGroupName -Name 'AzureBCKor01-VNet2' -AddressPrefix '10.10.0.0/16' -Location $locName -Subnet $subnet3


6. 가상 네트워크의 구성을 업데이트 합니다.


Set-AzureRmVirtualNetwork -VirtualNetwork $vnet2

2.2 AzureBCKor01-vnet1 가상 네트워크를 사용하는 가상 머신 만들기

1. 가상 머신을 만드는데 필요한 기본 변수를 선언합니다.


$rgName  = 'AzureBCKorRG01'               #리소스 그룹 이름
$vmName  = 'AzureBCKorVM1'                #가상머신 이름
$pubName = 'MicrosoftWindowsServer'      #운영체제 제조사
$offerName = 'WindowsServer'                #운영체제 타입
$skuName = '2016-Datacenter'                #운영체제 버전
$vmSize  = 'Standard_D1_v2'                    #VM 규모
$subnetName = 'VNet1SubNet1'                #서브넷 이름
$nsgName    = "$vmName-nsg"                 #네트워크 보안그룹
$pipName    = "$vmName-pip"                 #공인 IP 이름
$nicName    = "$vmName-nic"                 #네트워크카드 이름
$osDiskName = "$vmName-osdisk"            #운영체제 디스크이름
$osDiskSize = 128                                   #운영체제 디스크 크기
$osDiskType = 'Standard_LRS'                    #운영체제 디스크 복제


2. AzureBCKor01-vnet1 가상 네트워크의 첫번째 서브넷 ID를 변수($subnetid1)에 저장합니다.


$subnetid1 = (Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet1).Id


3. 진단 저장소 계정(azurebckor[Your Name Initial]sa)을 만듭니다. 저장소 이름은 반드시 소문자로 합니다.


$storageAccount = New-AzureRmStorageAccount -Name azurebckor[Your Name Initial]sa -ResourceGroupName $rgName -SkuName Standard_LRS -Location $locName -Kind Storage


4. 관리자 자격증명을 만듭니다.


$adminUsername = 'azureman'
$adminPassword = 'Pa55w.rd1234'
$adminCreds = New-Object PSCredential $adminUsername, ($adminPassword | ConvertTo-SecureString -AsPlainText -Force)


5. 네트워크 보안 그룹에서 먼저 RDP를 허용하는 규칙을 만듭니다.


$nsgRuleRDP = New-AzureRmNetworkSecurityRuleConfig -Name 'default-allow-rdp' -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow


6. 앞서 만든 규칙을 적용한 네트워크 보안 그룹을 만듭니다.


$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $rgName -Location $locName -Name $nsgName -SecurityRules $nsgRuleRDP


7. 공인 IP를 만듭니다.


$pip = New-AzureRmPublicIpAddress -Name $pipName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic


8. 공인 IP를 사용하는 NIC를 만듭니다.


$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $subnetid1 -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id


9. VM 기본 구성을 설정합니다.


$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize


10. 네트워크 카드를 설정합니다.


Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id


11. VM 부트 진단을 활성화 합니다.


Set-AzureRmVMBootDiagnostics -Enable -ResourceGroupName $rgName -VM $vmConfig -StorageAccountName $storageAccount[0].StorageAccountName


12. VM 운영체제와 원본 이미지, OS 디스크를 설정합니다.


Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $adminCreds

Set-AzureRmVMSourceImage -VM $vmConfig -PublisherName $pubName -Offer $offerName -Skus $skuName -Version 'latest'

Set-AzureRmVMOSDisk -VM $vmConfig -Name $osDiskName -DiskSizeInGB $osDiskSize -StorageAccountType $osDiskType -CreateOption fromImage


13. 지금까지의 설정을 바탕으로 VM을 만듭니다.


New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vmConfig


2.3 AzureBCKor01-vnet2 가상 네트워크를 사용하는 가상 머신 만들기

1. 가상 머신을 만드는데 필요한 기본 변수를 선언합니다.

$rgName  = 'AzureBCKorRG01'        #리소스 그룹 이름
$vmName  = 'AzureBCKorVM2'        #가상머신 이름
$subnetName = 'VNet2SubNet1'        #서브넷 이름
$nsgName    = "$vmName-nsg"         #네트워크 보안그룹
$pipName    = "$vmName-pip"         #공인 IP 이름
$nicName    = "$vmName-nic"         #네트워크카드 이름
$osDiskName = "$vmName-osdisk"    #운영체제 디스크이름


2. AzureBCKor01-vnet2 가상 네트워크의 첫번째 서브넷 ID를 변수($subnetid2)에 저장합니다.


$subnetid2 = (Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet2).Id


3. 2.2의 6~7까지를 다시 수행합니다.


4. 공인 IP를 사용하는 NIC를 만듭니다.


$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $subnetid2 -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id


5. 2.2의 9~13까지를 다시 수행합니다.



2.4 가상네트워크 피어링과 서로 다른 네트워크의 가상머신 테스트


1. AzureBCKor01-vnet1 -> AzureBCKor01-vnet2로의 가상 네트워크 피어링을 추가합니다.


Add-AzureRmVirtualNetworkPeering -Name VNet1ToVNet2 -VirtualNetwork $vnet1 -RemoteVirtualNetworkId $vnet2.Id


2. AzureBCKor01-vnet2 -> AzureBCKor01-vnet1로의 가상 네트워크 피어링을 추가합니다.


Add-AzureRmVirtualNetworkPeering -Name VNet2ToVNet1 -VirtualNetwork $vnet2 -RemoteVirtualNetworkId $vnet1.Id


3. 가상 네트워크 양방향 피어링 결과를 확인합니다.


Get-AzureRmVirtualNetworkPeering -VirtualNetworkName AzureBCKor01-VNet1  -ResourceGroupName $rgName -Name VNet1ToVNet2

Get-AzureRmVirtualNetworkPeering -VirtualNetworkName AzureBCKor01-VNet2  -ResourceGroupName $rgName -Name VNet2ToVNet1


4. Azure 포털에서 리소스그룹 AzureBCKorRG01내의 AzureBCKorVM1을 클릭하고  [개요] 블레이드에서 상단의 [공용 IP 주소]를 확인하고 mstsc를 실행해 원격데스크톱으로 접속합니다.




5. AzureBCKorVM1에서 AzureBCKorVM2로 ICMP 테스트를 수행합니다.

AzureBCKorVM2에서 방화벽을 해제하고 테스트 한 후, 다시 방화벽을 원래대로 복구하세요.


Test-NetConnection -ComputerName [AzureBCKorVM2의 사설 IP]


*요약
2개의 서브넷이 있는 가상 네트워크 하나와 1개의 서브넷이 있는 가상 네트워크를 만들었습니다. 각 가상 네트워크에서 동작하는 가상 머신을 하나씩 만들어 배치했습니다. 또한 두 개의 가상 네트워크를 피어링 기능으로 양방향 연결해, 앞서 만든 서로 다른 네트워크의 가상 머신이 서로 통신이 가능함을 확인했습니다.


3. Azure 웹앱

3.1 서로 다른 지역에 Azure 웹앱 만들기

1. 한국 중부에 새로운 리소스 그룹을 하나 만듭니다.


$rg3=New-AzureRmResourceGroup -Name AzureBCKorRG03 -Location koreacentral


2. 한국 중부에 배치할 웹 앱의 앱 서비스 계획을 만들고 변수에 저장합니다.


$rg03asp=New-AzureRmAppServicePlan -Location 'Korea Central' -ResourceGroupName AzureBCKorRG03 -Name AzureBCKorAS -Tier Standard -WorkerSize Small -NumberofWorkers 1


3. AzureBCKorRG03 리소스 그룹에 웹 앱(azurebckorweb1-[Your Name Initial])을 하나 만듭니다. 위치는 한국 중부를 지정합니다.


New-AzureRmWebApp -ResourceGroupName $rg3.ResourceGroupName -Name azurebckorweb-[Your Name Initial] -Location 'Korea Central' -AppServicePlan AzureBCKorAS


4. 미국 동부에 배치할 웹 앱의 앱 서비스 계획을 만들고 변수에 저장합니다.


$rg01asp=New-AzureRmAppServicePlan -Location 'East US' -ResourceGroupName AzureBCKorRG01 -Name AzureBCEastUSAS -Tier Standard -WorkerSize Small -NumberofWorkers 1


5. AzureBCKorRG01 리소스 그룹에 웹 앱(azurebckorweb2-[Your Name Initial])을 하나 더 만듭니다. 위치는 미국 동부를 지정합니다.


New-AzureRmWebApp -ResourceGroupName $rg1.ResourceGroupName -Name azurebcusweb-[Your Name Initial] -Location 'East US' -AppServicePlan AzureBCEastUSAS


6. 실습 가이드에 게시된 webapp-korpub.zip파일과 webapp-uspub.zip 파일을 다운로드해 C:\AzureBC 폴더 아래에 저장합니다.


7. 이번엔 Azure 클래식 모델을 사용하기 위해, 다시 기본 구독 환경을 바꿉니다. 다음 명령을 실행하고 다시 로그인합니다.


Add-AzureAccount


8. 한국 중부에 배포한 웹 앱에 webapp-korpub.zip을 게시합니다.


Publish-AzureWebsiteProject -Package C:\Azurebc\webapp-korpub.zip -Name azurebckorweb1-[Your Name Initial]


9. 배포한 웹 앱의 동작을 확인합니다.


Show-AzureWebsite -Name azurebckorweb1


10. 미국 동부에 배포한 웹 앱에 webapp-uspub.zip을 게시합니다.


Publish-AzureWebsiteProject -Package C:\Azurebc\webapp-uspub.zip -Name azurebckorweb2-[Your Name Initial]


11. 배포함 웹 앱의 동작을 확인합니다.


Show-AzureWebsite -Name azurebckorweb2


3.2 트래픽 관리자를 이용해 접속 지역을 기반으로 웹 앱서비스하기

1. AzureBCKorRG03 리소스 그룹에 트래픽 관리자 프로필(azurebctm)을 만듭니다. 이때 DNS 이름은 bctm[Your Name Initial]로 합니다. 모니터링 프로토콜은 HTTP, 모니터링 포트는 80, TTL 값은 30으로 지정합니다.


New-AzureRmTrafficManagerProfile -ResourceGroupName AzureBCKorRG02 -Name azurebctm -TrafficRoutingMethod Geographic -RelativeDnsName "bctm[Your Name Initial]" -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"


2. 끝점을 만드는데 필요한 트래픽 관리자 프로필 리소스 개체와 앞서 만든 웹 앱 개체를  변수에 저장합니다.


$tmprofile=Get-AzureRmTrafficManagerProfile -Name azurebctm -ResourceGroupName AzureBCKorRG02
$korweb = Get-AzureRmWebApp -Name azurebckorweb1
$usweb = Get-AzureRmWebApp -Name azurebckorweb2


3. 트래픽 관리자에서 라우팅할 첫 번째 끝점을 지정합니다. 먼저, 앞서 만든 한국 중부의 웹 앱으로 라우팅하는 끝점을 등록합니다.

-끝점 이름: korweb
-지리적 매핑: KR
-형식: Azure끝점
-상태: 사용


Add-AzureRmTrafficManagerEndpointConfig -EndpointName korweb -EndpointStatus Enabled -TargetResourceId $korweb.id -TrafficManagerProfile $tmprofile -GeoMapping KR -Type AzureEndpoints


4. 트래픽 관리자에서 라우팅할 두 번째 끝점을 지정합니다. 앞서 만든 미국 동부의 웹 앱으로 라우팅하는 끝점을 등록합니다.

-끝점 이름: usweb
-지리적 매핑: US
-형식: Azure끝점
-상태: 사용


Add-AzureRmTrafficManagerEndpointConfig -EndpointName usweb -EndpointStatus Enabled -TargetResourceId $usweb.id -TrafficManagerProfile $tmprofile -GeoMapping US -Type AzureEndpoints


5. 이제 트래픽 관리자 [개요] 블레이드에서 DNS 이름을 클릭해 어떤 웹사이트로 접속되는지 확인합니다. 한국에서 접속한다면, azurebckorweb.azurewebsites.net으로 라우팅되어야 합니다.



*요약

한국 중부와 미국 동부에 각각 웹앱을 만들고 개발한 웹 사이트를 각 웹 앱에 배포했습니다. 지리적 기반으로 부하를 분산하는 트래픽 관리자를 만들어 각 웹 앱을 끝점으로 등록하고, 한국에서 접속했을 때 한국 중부의 웹 앱이 응답하는 것을 확인했습니다.


4. 리소스 정리

실습 가이드 웹 페이지에서 RemoveAllResources.ps1 파일을 다운로드해 C:\Azurebc 폴더에 저장하고 다음과 같이 실행합니다. 스크립트에 정의한 Remove-AzureBCResources 함수가 현재 세션에 로드됩니다.


주의) 계속 사용해야 하는 리소스 그룹이 있다면, 이 명령을 실행하지 마시고, 각 리소스 그룹을 별도로 삭제하세요.


. C:\AzureBC\RemoveAllResources.ps1


이제, 지금까지 만든 모든 리소스를 지우기 위해 Remove-AzureBCResources 명령을 실행합니다.


Comment +0

 Azure에서 PowerShell을 사용한 가상 네트워크와 서브넷을 만들때 범할 수 있는 실수.


Azure에서 PowerShell을 사용해 가상네트워크와 서브넷을 만드는 방법은 두 가지 입니다.

1. New-AzureRmVirtualNetworkSubnetConfig를 먼저 실행한 후, New-AzureRmVirtualNetwork을 실행하는 방법.

2. New-AzureRmVirtualNetwork으로 가상 네트워크를 먼저 만든 후, Add-AzureRmVirtualNetworkSubnetConfig를 실행하는 방법.

물론, 최종적으로 Set-AzureRmVirtualNetwork으로 설정을 업데이트 해야 합니다.

두 가지 방법 모두 가상네트워크를 만들고 해당 네트워크에 서브넷을 만들지만, 각 방법으로 만든 서브넷의 정보를 보면 다음 차이가 있습니다.

1번의 방법으로 한 경우, 



2번의 방법으로 한 경우,


두 가지 결과의 차이점이 보이나요?

2번 방법은 Id와 Etag 값이 없습니다.
이런 경우 네트워크 카드 리소스를 만들때 지정해야 하는 서브넷 ID를 사용하지 못하니 문제가 됩니다.

여기서 중요한 PowerShell 사용의 실수가 나옵니다.

2번의 경우 먼저, 다음과 같이 가상 네트워크를 만듭니다.

$vnet3 = New-AzureRmVirtualNetwork -ResourceGroupName $rg2.ResourceGroupName -Name 'AzureBCKor02-VNet1' -AddressPrefix '10.12.0.0/16' -Location $locName

그리고 여기에 서브넷을 다음과 같이 추가하겠죠.
$subnet4=Add-AzureRmVirtualNetworkSubnetConfig -Name 'VNet3SubNet1' -AddressPrefix '10.12.0.0/24' -VirtualNetwork $vnet3

그 다음, 최종적으로 설정을 업데이트 합니다.

Set-AzureRmVirtualNetwork -VirtualNetwork $vnet3

그리고, 흐뭇하게 $vnet3 변수에 담긴 서브넷의 정보를 확인하면, 위의 2번 그림과 같은 상황이 발생합니다.

결론적으로, $vnet3 변수에 담아 놓은 정보는 Set-AzureRmVirtualNetwork으로 업데이트하기전의 결과이므로, 다음 명령으로 다시 한번 값을 업데이트 해줘야, 나중에 정확한 값을 사용할 수 있는 것입니다.

$vnet3=Get-AzureRmVirtualNetwork -Name 'AzureBCKor02-VNet1' -ResourceGroupName $rg2.ResourceGroupName


 


Comment +0

최근에(2018/01/24일자로 기억하지만, 정확하지는 않음) Azure Service Fabric을 만드는 과정에서 설정하는 [보안] 설정에 변화가 있었습니다.

기존에는 개발과 테스트를 위해  [unsecure]라는 옵션을 선택할 수 있었지만, 이젠 무조건 인증서를 사용한 보안 접속만 허용합니다.

따라서 이 글에서는 개발과 테스트용도로 사용할 때 자체 서명 인증서를 이용하는 방법을 설명합니다.


리소스 그룹과 키 자격 증명 모음(Key Vault) 만들기

먼저 Service Fabric과 키 자격 증명 모음(Key Vault)을 관리할 리소스 그룹을 만듭니다.

여기서 사용할 리소스 그룹의 이름은 'mymicroservice-kdk'로 하겠습니다.


1. 허브에서 [리소스 그룹]을 선택하고 오른편 창 상단에서 [추가]를 클릭합니다.


2. 리소스 그룹 이름을 입력하고 리소스 그룹 위치(여기서는 '일본 동부')를 선택하고 [만들기]를 클릭합니다.




이제 키 자격 증명 모음을 만듭니다.


3. 허브에서 [새로 만들기]-[보안 + ID]를 선택하고 오른쪽 [추천]에서 [Key Vault]를 클릭합니다.


4. 다음 항목에 값을 입력합니다. 나머지는 기본 값으로 남깁니다. [만들기]를 클릭합니다.
- 이름: mymicroservicekv
- 리소스 그룹: 조금 전에 만든 그룹 사용
- 위치: 일본 동부




3. [키 자격 증명 모음]이 만들어지면, 허브에서 [리소스 그룹]-[키 자격 증명 모음]을 선택하고 키 자격 증명 모음 블레이드에서 [액세스 정책] 항목을 클릭합니다.


4. 오른편에 확장된 블레이드에서 [클릭하여 고급 액세스 정책 표시] 링크를 클릭한 다음, [배포를 위해 Azure Virtual Machines에 대한 액세스 사용] 확인란을 선택하고 [저장]을 클릭합니다.




Azure Service Fabric 만들기

이 글에서 다루는 주제인 Service Fabric 리소스를 만들어 볼 차례입니다.

Service Fabrice이 무엇인지 궁금하신 분은 다음 링크를 통해 Azure Service Fabric 개요를 살펴보시기 바랍니다.


1. 허브에서 [새로 만들기]-[계산]을 선택하고 오른쪽 [추천]에서 [서비스 패브릭 클러스터]를 클릭합니다.


2. [기본 설정 구성]에서 다음 항목에 값을 입력합니다.
- 클러스터 이름: mymicroservicesf-kdk
- 운영 체제: WindowsServer 2016-Datacenter
- 사용자 이름: steelflea
- 암호 / 암호 확인: Pa$$w0rd
- 리소스 그룹: 조금 전에 만든 그룹 사용
- 위치: 일본 동부


3. [클러스터 구성 설정]에서 노드 유형 개수를 1로 설정하고 [노드 유형 1]을 선택해 다음과 같이 설정합니다.
- 노드 유형 이름: Web
- 내구성 계층:
- 사용자 지정 끝점: 8082
- 초기 VM 확장 집합 용량: 5 (Azure 구독 유형에 따라 가능한 숫자가 다를 수 있습니다. 무료 체험 버전은 3으로 설정하세요.)




4. [클러스터 구성 설정]의 [가상 머신 크기] 항목을 선택하고 [D1_V2 표준]을 선택하고 [확인]을 클릭합니다.




5. [노드 유형 구성] 블레이드에서 [확인]을 클릭한 다음 [클러스터 구성] 블레이드에서 다시 [확인]을 클릭합니다.




6. [보안 설정 구성]에서 [Configuration Type]에 [Basic]을 선택합니다.


7. [보안 설정 구성][Key vault] 필수 설정 구성을 선택하고 조금 전에 만든 'mymicroservicekv'를 선택합니다.




8. [보안 설정 구성][Certificate Name]에 'mymicroservice-selfcert'를 입력하고 [확인]을 클릭합니다.




9. [검토, 템플릿 보기, 만들기]에서 "유효성 검사 통과"로 결정되면 [만들기]를 클릭해 서비스 패브릭 클러스터를 만듭니다.



Azure Service Fabric 연결을 위한 인증서 다운로드

관리 클라이언트에서 서비스 패브릭 클러스터에 보안 연결을 하려면 조금 전에 만든 mymicroservice-selfcert 인증서가 필요합니다.

이 인증서는 [키 자격 증명 모음]에서 다운로드 할 수 있습니다.


1. [리소스 그룹]에서 앞서 만든 'mymicroservice-kdk' 리소스 그룹을 선택하고 [mymicroservicekv] 항목을 클릭합니다.


2. [mymicroservicekv] 블레이드에서 [비밀]을 클릭하고, 앞서 만든 'mymicroservice-selfcert'를 선택합니다.




3. [mymicroservice-selfcert] 블레이드에서 [상태]가 '사용'인 현재 버전을 선택하면 확장되는 비밀 블레이드 맨 아래의 [인증서 다운로드] 버튼을 클릭해 적절한 위치에 저장합니다.




관리 클라이언트에 인증서 설치

이제 거의 마지막 작업에 가까이 왔습니다.

클라이언트 노드에 앞 단계에서 다운로드한 인증서를 설치하기 위해 MMC 스냅인을 사용합니다.


1. [Windows]+[R]을 눌러 [실행]창을 띄우고 'mmc'라고 입력한 다음 [확인]을 클릭해 [Microsoft Management Console]을 실행합니다.


2. [파일]-[스냅인 추가/제거] 메뉴를 클릭하면 실행되는 [스냅인 추가/제거] 창에서, [사용 가능한 스냅인] 항목 아래의 [인증서]를 선택하고 [추가]를 클릭합니다.




3. [인증서 스냅인] 창에서 [내 사용자 계정]을 선택하고 [마침] 버튼을 클릭합니다.




4. [스냅인 추가/제거] 창에서 [확인]을 클릭합니다.




5. 콘솔 화면의 왼편 창 [콘솔 루트]-[인증서-현재 사용자]-[신뢰할 수 있는 사용자] 항목을 마우스 오른쪽 클릭하면 표시되는 컨텍스트 메뉴에서 [모든 작업]-[가져오기]를 클릭합니다.




6. [인증서 가져오기 마법사]의 [인증서 가져오기 마법사 시작] 화면에서 [다음]을 클릭합니다.


7. [가져올 파일] 화면에서 [파일 이름] 텍스트 상자 옆 [찾아보기] 버튼을 클릭해 앞서 다운로드한 파일을 선택합니다 ([열기] 창에서 하단의 'x.509 인증서'가 선택된 드롭다운 버튼을 클릭해 '모든 파일'로 선택해야 인증서가 보인다). [다음] 버튼을 클릭합니다.




8. [개인 키 보호] 화면에서 [다음] 버튼을 클릭합니다.


9. [인증서 저장소] 화면에서 [인증서 저장소] 항목에 '신뢰할수 있는 사용자'가 선택된 것을 확인하고 [다음] 버튼을 클릭합니다.




10. [인증서 가져오기 마법사 완료] 화면에서 지정한 설정을 확인하고 [마침]을 클릭합니다.




11. 다시 콘솔 화면으로 돌아와서, 가져온 인증서가 보이는지 확인합니다.



12. 콘솔 화면의 왼편 창 [콘솔 루트]-[인증서-현재 사용자]-[개인용]에서 동일한 방식으로 인증서 가져오기를 한 번더 합니다.


Azure Service Fabric 클러스터 탐색기 보안 접속

이제 서비스 패브릭 클러스터를 만들고 인증서 준비까지 마쳤으므로 관리 클라이언트에서 서비스 패브릭 탐색기로 보안 연결이 되는지 확인해봅니다.


1. [리소스 그룹]-[mymicroservice-kdk]를 클릭하고 [mymicroservicesf-kdk]라는 이름의 서비스 패브릭 클러스터를 선택합니다.


2. [개요] 노드의 상단 [기본 정보] 섹션 아래 부분의 [Service Fabric Explorer] 링크를 클릭합니다.


3. 브라우저의 새 탭에서 보안경고(자체 서명 인증서를 사용하기 때문)를 뛰우지만, 아래의 [세부 정보]라는 링크를 클릭하면 추가 내용이 표시됩니다. 맨 아래 [웹 페이지로 이동]이라는 링크를 클릭합니다.




4. [인증서 확인] 창이 뜨면 [확인]을 클릭합니다.




5. [자격 증명 필요] 창이 뜨면 [허용]을 클릭합니다.




6. 잠깐 기다리면, 다음 화면과 같은 [Service Fabric Explorer] 화면을 만날 수 있습니다.

여기까지 왔다면, 이제 Azure Service Fabric을 사용할 준비가 끝났습니다.




Comment +0

Remote Domain Join using PowerShell


PowerShell을 사용해 원격으로 클라이언트나 서버를 도메인에 가입시키는 방법을 설명합니다.

이 글은 다음과 같은 조건을 가정합니다.


★PowerShell 버전: 3.0 이상 ($PSversionTable 확인)

★클라이언트: Windows 7 SP1 (단 WMF 3.0 이상 설치), Windows 8 이상
★서버: Windows Server 2008 R2 (단 WMF 3.0 이상 설치), Windows 2012 이상

★도메인 컨트롤러: Windows Server 2008 R2 이상(단 WMF 3.0 이상 설치)


도메인 멤버가 될 클라이언트에 대한 원격 PowerShell을 실행할 수 있어야 하고, 클라이언트의 네트워크와 방화벽 설정을 PowerShell로 변경하기 위해서는 PowerShell 버전이 3.0 이상이어야 합니다.


1. 다음 명령으로 클라이언트에서 PowerShell 원격 리모팅을 활성화 합니다.

Enable-PSRemoting


만일 클라이언트 OS의 네트워크 프로필이 개인 네트워크가 아니라면 다음과 같은 에러 화면을 만나게 됩니다.

이때는 개인 네트워크로 프로필을 변경합니다.



2. 다음 명령으로 원격에서 가입을 수행할 서버와 클라이언트 각각의 신뢰된 호스트에 동일 IP 대역의 모든 주소나 특정 컴퓨터 이름 또는 IP 주소를 추가합니다. 이 과정이 문제가 없다면 원격 PowerShell이 실행되는지 확인합니다.


Set-Item WSMan:\localhost\Client\TrustedHosts -Value *


3. 원격 도메인 가입 명령을 수행하기 위해 넘어야 할 마지막 산이 해당 클라이언트에 방화벽 예외 설정을 하는 것입니다. 원격 관리에 대한 방화벽 예외를 설정합니다. 클라이언트에 필요한 설정은 사내에서 배포 환경을 통해 클라이언트를 배포할 때 이와 같은 설정이 미리 이뤄지도록 구성하는 것이 좋습니다.


4. 이제 원격 도메인 가입을 수행하는 PowerShell 구문은 다음과 같습니다. 이 구문의 각 옵션에 대한 설명은 도움말을 참고하시기 바랍니다.


Add-Computer -ComputerName LW-CL03 -LocalCredential LW-CL03\dokyun -DomainName mwad.local `
-OUPath "ou=Sales,ou=BigCompany,dc=mwad,dc=local" -Credential mwad\administrator `
-PassThru -Verbose -Restart -Force


명령이 성공적으로 수행되면 다음과 같은 화면을 만날 수 있습니다. 이때 클라이언트는 가입작업이 수행되고 다시 시작합니다.



Comment +0

이번 포스팅은 On-premise에서 사용중인 DB 서버의 가용성 문제로 애플리케이션의 DB 서비스를 Microsoft Azure SQL 서버로 마이그레이션했던 과정을 정리한 것입니다.

 

글에서는 On-premise에서 사용하던 DB 서버인 MS SQL Server 2012에서, SSMS(SQL Server Management Studio) 사용하여 Azure SQL 서버로 데이터베이스를 마이그레이션 합니다.

 

Azure SQL 데이터베이스는 PaaS 입니다. 이미 오랫동안 입증된 SQL 서버 기술을 통합해 클라우드에서 완벽하게 관리되는 관계형 데이터베이스 서비스를 플랫폼으로 제공하는 것입니다. 하드 드라이브와 서버, 스토리지와 같은 물리적 하드웨어는 Microsoft에서 관리하지만 데이터베이스 인스턴스와 관련 로그인, 사용자 그리고 역할  등은 서비스 이용자가 관리할 있습니다.

 

On-premise 데이터베이스를 Azure 마이그레이션 하기 위해서는 먼저 Azure SQL DB 인스턴스를 먼저 만들어야 합니다.



Azure SQL 데이터베이스 만들기


먼저, Windows Azure 포털에 로그인 합니다. 

다음 그림에서처럼 포털의 왼편 하단 메뉴에서 [SQL 데이터베이스] 선택합니다.



 가운데 상단에서 [추가] 단추를 클릭하면, 다음 그림과 같은 화면이 나옵니다.




여기서 입력할  항목은 다음과 같습니다. 빨간색 * 표시는 반드시 입력해야 하는 값입니다.


☞ 데이터베이스 이름:  프로그래밍에서 사용하거나 SSMS, Visual Studio에서 연결할 데이터베이스 이름 입니다.

구독: MSDN 구독이 있는 경우.
리소스 그룹: (만든 적이 없는 경우) 리소스 그룹 이름을 입력합니다.

소스 선택: 백업 등이 있으면 선택할 있습니다. (여기서는 데이터베이스)

서버: 기존에 만든 서버가 없다면 새로운 서버를 만듭니다. 이후에 데이터베이스를 추가할 동일한 서버 하위로 추가할 있습니다. 서버 이름과 서버 관리자 로그인, 암호, 서버의 위치 등을 결정합니다.


가격 책정 계층: 사용하려는 데이터베이스의 예상되는 트랜잭션을 기준으로 선택합니다. 나중에 변경할 있습니다. 다음 그림은 가격 책정  계층의 일부를 나타낸 것입니다.



데이터 정렬: 기본 값을 사용합니다. 값을 변경하는 경우의 영향에 관해 미리 숙지하고 변경해야 합니다.


이제 최종적으로 입력한 정보는 다음 그림과 같습니다.



하단의 [만들기] 단추를 클릭하면 다음 그림처럼 배포가 시작됩니다.



배포가 완료되면 대시보드에서 만들어진 데이터베이스 클릭하여 다음과 같은 설정화면으로 들어갈 있습니다.



설정 화면에서 "데이터베이스 연결 문자열 표시" 링크를 클릭하면 다음 그림처럼 데이터베이스 연결 문자열을 얻을 있습니다. [데이터베이스 연결 문자열] 창에서 환경에 맞는 문자열 표시 상자 오른 편의 단추를 클릭하면 클립보드로 복사됩니다.



예를 들어, ADO.NET 경우는 다음과 같은 샘플 문자열을 얻을 있습니다.


Server=tcp:transwriting.database.windows.net,1433;Database=mydb;User ID=dbadmin@transwriting;Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

 

여기서 {your_password_here} 부분에 조금 전에 만든 암호를 입력해서 사용합니다.



 SSMS 사용한 데이터베이스 마이그레이션


이제 On-Premise SQL 서버로 와서 SSMS 시작하고 로그인 합니다.

SSMS에서 마이그레이션하려는 데이터베이스를 오른 클릭한 [태스크] 선택하면 컨텍스트 메뉴에서 [Windows Azure SQL 데이터베이스에 데이터베이스 배포]라는 메뉴를 확인할 있습니다. 메뉴를 클릭합니다.



이제 데이터베이스 배포 마법사가 시작됩니다.



[다음] 클릭하고 조금 전에 반은 Azure SQL 서버에 연결을 하면 많은 경우 다음과 같은 연결 에러 화면을 만나게 됩니다. 원인은 SSMS에서 Azure SQL 인스턴스로 액세스할 Azure에서 해당 접근에 대한 방화벽 예외를 주지 않았기 때문입니다.



다시 Azure 포털로 돌아가서  이전에 만든 Azure SQL 서버를 클릭하면 나오는 화면에서 "방화벽 설정 표시" 링크를 클릭하면 펼쳐지는 창에서 필요한 예외 정보를 입력합니다.



설정이 끝난 다시 SSMS 배포 마법사 화면으로 돌아와 다시 연결을 시도하면 정상적으로 연결이 되는 것을 확인할 있습니다.  이후 입력할 정보는 다음과 같습니다.



☞ 새 데이터베이스 이름: Azure SQL 서버에 추가로 만들 데이터베이스 이름을 넣습니다.

Windows Azure SQL 데이터베이스 설정: Azure SQL 가격책정 계층을 선택하는 입력 항목입니다.


모든 정보를 정확히 입력했는지 확인하고 [마침] 클릭합니다.




여기까지 왔다면 모든 작업이 순조롭게 완료됩니다. 끝나고 나면 SSMS Visual Studio에서 방금 만든 Azure SQL 데이터베이스 인스턴스에 연결할 있습니다.




Comment +0

Windows Server 2016 정식 출시된 버전이 아니지만,

최근 TP4까지의 변화만 보더라도 IT Pro 마음을 설레게 하는 기술과 기능이 포함되고 있습니다.

중에서도 핵심 특징 중의 하나인 Nano Server PowerShell 통해 프로비저닝하는 방법을 살펴보겠습니다.


준비

먼저 해야할 작업은 Windows Server 2016 TP4 다운로드하는 일입니다.

다운로드는 다음 링크를 클릭하세요.


Windows Server 2016 TP4 다운로드


다운로드 받은 ISO 이미지를 마운트 하면 탐색기에서 다음과 같은 폴더 구조를 있습니다.


여기서 "NanoServer"라는 폴더를 적절한 위치로 복사합니다.

복사한 해당 폴더를 열어보면 다음과 같은 구조로 되어 있습니다.


NanoServer.wim 파일이 실제 서버 이미지 파일이며 대략 130MB 정도 되는 아주 작은 크기임을 있습니다.

Convert-WindowsImage.ps1 NanoServerImageGenerator.psm1 Nano Server 가상 머신을 만드는데 사용할 있는 cmdlet 물리 서버 프로비저닝 이미지를 만드는데 필요한 cmdlet 제공합니다.

Packages 폴더에서는 Nano Server 설치할 있는 역할과 기능을 제공합니다.

폴더 안에는 언어별 폴더가 별도로 존재합니다.


이제 PowerShell 열고 다음 명령을 입력해 폴더를 복사한 위치로 변경합니다.


 Set-Location C:\NanoServer


 다음 명령으로 Nano Server wim 파일과 관련 패키지를 복사할 폴더를 만듭니다.


 New-Item -Name Base -ItemType Directory


 결과로 생성되는 Nano Server 이미지가 저장될 위치를 다음 명령으로 만듭니다.


 New-Item -Name NanoVM -ItemType Directory


 NanoServer라는 폴더의 구조는 다음과 같이 변경되었습니다.


Nano Server 가상 머신 이미지 만들기

다음 명령구문을 실행해 가상 머신 이미지를 만들기 위해 필요한 cmdlet 로드합니다.


만든 가상 머신 이미지에 사용할 Administrator 암호를 지정하기 위해 다음 구문에서 보이는 pass 라는 변수에 암호화된 문자열 입력을 저장해 놓습니다.

$pass= Read-Host -AsSecureString "Administrator 사용할 암호를 지정하세요."


이제 앞서 준비한 내용을 가지고서 다음 명령 구문으로 새로운 Nano Server 가상 머신을 만듭니다.


 New-NanoServerImage -MediaPath h:\ -BasePath .\Base -TargetPath .\NanoVM\TLS-NANO1.vhdx `


-ComputerName TLS-NANO1 -GuestDrivers -EnableRemoteManagementPort -InterfaceNameOrIndex Ethernet `


-Ipv4Address 172.16.0.151 -Ipv4SubnetMask 255.255.255.0 -Ipv4Gateway 172.16.0.1 -Packages Microsoft-NanoServer-DSC-Package `


-Defender -AdministratorPassword $pass -Storage -Language en-us


 

매개변수에 대해서는 대략 다음과 같이 설명할 수 있을 것 같습니다.


-MediaPath h:\    <--Windows Server 2016 이미지 마운트 경로


-BasePath .\Base <--앞서 만든 Base 폴더 경로


-TargetPath .\NanoVM\TLS-NANO1.vhdx  <-- 앞서 만든 NanoVM 폴더 경로와 만들어질 VM 파일의 이름


-ComputerName TLS-NANO1 <-- 만들 VM 호스트 이름


-GuestDrivers <-- Hyper-V 통합 설치 드라이버


-EnableRemoteManagementPort <-- WinRM 통한 원격관리 (방화벽 5985 포트 설정)


-InterfaceNameOrIndex Ethernet <-- 네트워크 연결명이나 NIC 인덱스


-Packages Microsoft-NanoServer-DSC-Package <-- 설치할 패키지 지정


-Defender <-- Windows Defender 안티 멜웨어 설치


-Storage <-- 파일 서버 역할과 다른 스토리지 구성요소


명령 구문의 실행 결과는 다음과 같습니다.


Hyper-V 가상 머신 만들기

Nano Server VM 이미지가 만들어 졌다면,  Hyper-V 관리자에서 가상 머신을 만들고 VM 이미지를 연결해주면 됩니다. 

관리자 UI에서 있지만, PowerShell 통해  부분도 만들어 보겠습니다.


다음 명령 구문으로 TLS-NANO1이라는 가상 머신을 저장할 폴더 구조를 만듭니다.


New-Item -Name TLS-NANO1 -ItemType Directory -Path C:\VMs\


New-Item -Name "Virtual Hard Disks" -ItemType Directory -Path C:\VMs\TLS-NANO1\


 

앞서 만든 Nano Server 이미지를 복사하는 명령 구문은 다음과 같습니다.


Copy-Item -Path .\NanoVM\TLS-NANO1.vhdx -Destination 'C:\VMs\TLS-NANO1\Virtual Hard Disks'


끝으로, Hyper-V 새로운 가상 머신을 만듭니다.



Hyper-V 관리자에서 등록된 새로운 Nano Server 시작하고 로그온해 봅니다.


로그인한 화면은 <Nano Server Recovery Console> 입니다. 컴퓨터 이름이나 워크그룹 정보, OS, 시간, 네트워크 주소와 MAC 정보 등을 확인할 있으며, 하단의 <Networking> <Firewall> 부분에서 직접 IP 구성과 방화벽 설정을 수행할 있습니다.


Nano Server 설정

Nano Server VM 만들고 실행 시킨 로그인과 기본 설정이 정상적으로 확인이 된다면,

이제 Nano Server 도메인에 가입시키고 도메인 계정을 Nano Server 로컬 관리자 계정에  추가시켜 관리를 위한  작업을 놓습니다.


Nano Server 도메인에 가입시키는 방법은 기존에 알고 있는 오프라인 도메인 가입 방법을 활용합니다.

러기 위해 Nano Server DC 간의 TrustedHosts 목록 구성을 먼저 수행합니다.


다음 명령은 DC에서 수행합니다.


다음과 같이 Nano Server PowerShell 세션을 연결합니다.


도메인 가입을 위해 Nano Server DNS 설정을 DC DNS 변경합니다.


다음의 Djoin 명령으로 오프라인 도메인 가입을 위한 blob 파일을 DC에서 만듭니다.


방금 만들어진 오프라인 도메인 가입 파일을 Nano Server 복사합니다.

PowerShell 5.0에서 개선된 Copy-Item 사용하면 다른 세션으로 파일을 복사할 있습니다.


Nano Server 다시 PowerShell 세션을 연결하고 복사한 위치에 파일이 있는지 확인해 봅니다.


다음과 같이 djoin 명령에서 복사된 blob 파일을 이용해  Nano Server 도메인 가입을 수행하고 서버를 재시작 해줍니다.


마지막 단계 입니다.

도메인 계정에 Nano Server Administrators 그룹의 멤버십을 부여해 향후 관리를 수행하게 합니다.


이제 등록한 도메인 계정으로 Nano Server에 로그인할 수 있습니다.





Comment +0

RSMT(Remote Server Management Tools) Azure 포털과 같은 인터페이스로 제공하는 관리 도구입니다.  아직은 Preview 상태이며, Azure에서 리소소 추가("서버 관리 도구" 검색) 통해 설정할 있습니다.

 

RSMT 구성한 인터페이스로 NanoServer, Server Core 그리고 Server With GUI 관리할 있습니다. RSMT에서 지원하는 주요 관리 영역은 다음과 같습니다.

 

-시스템 구성 확인 변경

-프로세스와 서비스 관리

-리소스 사용에 대한 성능 확인

-이벤트 로그 확인

-설치된 역할과 기능 확인

-PowerShell 콘솔을 사용한 관리 자동화

 

RSMT 구성하면 다음 그림에서 보인 네트워크 연결 레이아웃처럼 Azure Public Cloud 내의 서버와  On-Premise 서버를 관리할 있습니다.  RSMT 게이트웨이를 통해 라우트 되기 때문에 구성할 RSMT 게이트웨이 서버가 별도로 필요합니다. 이미 동일한 리소스 그룹에 만든 게이트웨이가 있다면 게이트웨이를 선택해주면 됩니다.



 

지금 부터 간단하게 RSMT 구성하는 단계를 설명합니다. 편의상 Azure 상에 관리 대상 서버가 있으며, 게이트웨이와 동일한 리소스 그룹을 사용하는 것으로 봅니다. 또한 게이트웨이 서버와 관리 대상 서버는 워크그룹으로 사용되는 것으로 가정했습니다.


1. Azure 포털에 로그인하고 Test-GW(Server With GUI, Windows Server 2016 TP4) Test-Nano라는 대의 가상 머신을 만들었습니다.

 



2. 이제 RSMT 구성하기 위해 [모든 리소스] 메뉴에서 [추가] 단추를 눌러 다음 그림처럼 "서버 관리 도구" 검색하고 아래 결과 창에서 항목을 선택 합니다.



3. 오른편에 관련 정보와 구성도가 있는 화면이 표시되며 아래로 내려 [만들기] 단추를 클릭합니다.


4. [서버 관리 도구 연결 만들기] 창에서 필수 항목을 모두 채웁니다.
이때 주의 사항은 [컴퓨터 이름 항목] 도메인 환경이 아니라면 관리 대상 서버의 IP주소를 입력해야 합니다.  또한 게이트웨이 서버를 처음 설정하는 경우라면 [ 서버 관리 도구 게이트웨이 만들기] 항목에 미리 만들어 놓은 게이트웨이 서버 이름을 넣습니다.



5. 모든 정보를 정확히 넣었다면 아래 [만들기] 단추를 클릭합니다. 대시보드에서 서버 관리 도구가 배포되는 것을 확인할 있습니다.


6. 서버 관리 도구 배포를 완료한 해당 서버 관리 도구를 선택하면 다음 그림처럼 게이트웨이를 검색하지 못했다는 알림을 있습니다. 게이트웨이 서버에 필요한 소프트웨어 구성이 끝나지 않았기 때문입니다. 알림 메시지 내용 클릭합니다.


7. 이제 [게이트웨이] 구성이라는 새로운 창이 하나 펼쳐졌습니다. 여기서 게이트웨이 서버에 설치한 패키지 링크를 제공합니다. 중간 쯤에 보이는 [패키지 링크 생성]이라는 단추를 클릭하면 바로 아래 URL 채워집니다. URL 복사해서 브라우저에 던지면 압축 파일을 하나 받을 있습니다.


8. 다운 받은 압축 파일을 게이트웨이 서버로 복사하고 풀어보면 실행 프로그램 하나와 json 구성 파일 하나가 있습니다. GatewayService.msi 더블클릭해서 설치를 진행해줍니다. 별도로 설정할 정보가 없기 때문에 까지 [다음] 눌러주면 됩니다.


9. 프로그램이 정상적으로 설치되었다면 서비스에서 "Server management tools gateway"라는 항목이 생기고 실행 상태임을 확인할 있습니다.


10. 이 포스팅의 시나리오에서 워크그룹 환경을 가정했기 때문에 게이트웨이 서버와 관리 대상 서버의 신뢰된 연결을 만들어 주어야 합니다. 따라서 TrustedHosts 목록에  IP 추가합니다, 관리 대상 서버가 여러 대라면 쉼표로 분리해서 IP 여러 넣습니다.


11. 다음으로 관리 대상 서버에 원격 PowerShell 세션을 연결해 WinRM 서비스에 대한 방화벽을 열어두면 게이트웨이와 동일한 서브넷이 아닌 워크그룹 머신에도 연결할 있습니다.


12. 연결에 사용하는 계정이 로컬 Administrator 계정이라면 관리 대상 서버에서 다음 명령으로 정책을 활성화 시켜야 합니다.


13. 다시 Azure 포털로 돌아와서 배포된 서버 관리 도구를 선택해보면 알림 메시지가 변경된 것을 확인할 있습니다. 메시지의 지시 사항대로 바로 위의 [다음으로 관리]라는 단추를 클릭하여 관리 대상 서버에 연결할 계정 정보를 입력합니다.


14. 계정 정보가 정확하다면 관리 대상 서버에 연결되어 성능 정보 등을 받아오고 [설정] 창에서 필요한 작업을 있습니다.


 

아직 정식 출시는 아니지만 RSMT 통해 Windows Server 2016을 편리한 인터페이스로 관리할 있다는 점이 매력적입니다. 포스팅에서는 동일한 서브넷인 환경을 기준으로 했지만, 서브넷이 다른 경우에 대해서는 숙제로 남깁니다.

 

* 포스팅은 2016 2 24 있었던, TechNet Community 세미나의 "쉘을 통한 Windows Server 2016 관리" 세션의 내용을 보충하고자 작성한 것입니다.


Comment +0

PowerShell은 사용할 수록 멋진 도구인것 같습니다.

PowerShell로 할 수 있는 많은 작업이 있지만, 이번에는 파워포인트 파일을 PDF로 변환하는 과정을 기존의 번거로운 방식을 탈피해 한 번에 깔끔하게 할 수 있는 방법을 설명합니다.

 

[적용 환경]

● 정품 Office 2010 이상.

● Windows 7 이상의 클라이언트 운영체제로 PowerShell v3.0 이상

 

먼저 기존의 번거로운 방법으로 PDF 변환은 다음 그림과 같이 각 PPT 파일을 열고 [내보내기] 메뉴를 찾아서 파일의 횟수 만큼 실행하는 과정이 있습니다.

 

 

<그림 1> 번거로운 방법

 

이와 같은 번거로움을 PowerShell로 해결하려면, 사전 지식으로 Office Interop Object에 대한 학습이 필요합니다. 하지만 여기서는  PowerShell에서 Office 어셈블리를 가져다 프로그래밍 하듯이 사용할 수 있다는 정도만 언급합니다. PowerShell에 대해 더 궁금 하다면, 필자가 오랫동안 연재해온 <마이크로소프트웨어>의 "관리 효율성 증대를 위한 도구 PowerShell"과 Technet과 MSDN을 찾아보시기 바랍니다. 

 

다음은 PPT 파일을 PDF로 변환할 수 있도록 작성한 PowerShell 스크립트 입니다. 주석을 참고하여 대략의 흐름만 파악해보세요.

바로 사용할 수 있도록 스크립트 파일을 첨부했으니, 다운로드 받아 이용하시기 바랍니다.

 

☞ 다운로드:  PptxToPdf.ps1

 

# 파워포인트를 시작합니다.
$pptx = new-object -com powerpoint.application
#$pptx.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue

 

# 파워포인트 파일이 있는 위치(폴더)를 설정합니다.
$filePath=Read-Host -Prompt '파워포인트 파일이 있는 폴더 경로를 입력하세요.(예, "C:\Test\")'
$filePath=$filePath -replace '"',''

 

# 저정한 위치(폴더)의 파워포인트 파일을 하나씩 처리 합니다.
Foreach($inFile in $(ls $filePath -Filter "*.pptx")){
 Set-ItemProperty ($filePath + $inFile) -name IsReadOnly -value $false
 $filename = Split-Path $inFile -leaf
 $file = $filename.Split(".")[0]
 $outFile = $filePath + $file + ".pdf"

 

 # 파워포인트 파일을 오픈합니다.
 $slides = $pptx.Presentations.Open($filePath + $inFile)

 

 # PDF로 저장합니다.
 $inMsg= $filePath + $file + ".pdf 생성중"
 Write-Host -Message $inMsg
 $saveOption= [Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType]::ppSaveAsPDF
 $slides.SaveAs($outFile,$saveOption)

 

 # 오픈된 파워포인트 파일을 종료합니다.
 $slides.Close();
 $outMsg=$filePath + $file + ".pdf 생성 완료!"
 Write-Host $outMsg

}

 

 

<그림 2> PowerShell에서 PPT를 PDF로 변환하는 모습

 

Comment +0

Comment +0

오랜만에 열린 오프라인 TechNet 커뮤니티 세미나에 첫 세션 강연자로 발표했던 자료를 공유합니다.

주로 파트너나 고객을 대상으로 긴 호흡의 강의를 위주로 하다가 짧은 시간에 AD와 ADFS, AAD 내용을 쉽게 전달해야 하는 세션이었습니다. 짧은 시간 운영을 좀 더 잘해서 하고 싶은 얘기와 보여주고 싶은 데모를 모두 했었다면 하는 아쉬움이 조금 남았습니다.

 

기회가 된다면, 다음 시간에는 시연을 중심으로 개념을 풀어가는 방식을 통해 추상적인 기본 개념을 시각적으로 확인해보는 시간을 갖도록 하겠습니다. 아무쪼록 귀한 시간을 내서  참여 해주신 모든 분들께 감사드립니다!

 

Comment +0

Windows Server 2012 R2에서 가상화 도메인 컨트롤러 복제를 수행해 추가적인 도메인 컨트롤러를 만들었습니다.

그리고 주 도메인 컨트롤러에서 AD DS 서비스를 중지한 후 데이터베이스를 조각모음하고 다시 AD DS를 시작했습니다.

이후에 처음 만든 DC에서 AD 휴지통 기능을 활성화 할때 다음과 같은 메시지를 만났습니다.

 

 

[그림 1] 휴지통 기능 활성화에서 만난 메시지

 

이 메시지는 호스트 작업 마스터 역할을 하는 Microsoft Windows Server 2012 R2 도메인 컨트롤러에 대한 초기 동기화와 관련된 내용을 알려주는 것입니다.

 

Active Directory 도메인 컨트롤러는 도메인 컨트롤러가 시작할 때마다 자신의 디렉터리 파티션 (명명 컨텍스트) 인바운드 변경 내용을 복제 하려고 시도 합니다.

 

작업 마스터 역할을 제공하는 도메인 컨트롤러는 작업 마스터 역할의 상태를 복제하고 유지하는 디렉터리 파티션의 인바운드 변경을 성공적으로 복제해야 합니다.

 

작업 마스터 역할을 갖고 있는 도메인 컨트롤러를 다시 시작하면 성공적으로 동기화될 때 까지 모든 기존 파트너와 동기화를 수행하려고 합니다. 따라서 위 그림 1의 메시지는 초기동기화에 문제가 있다는 얘기입니다.

 

따라서 작업 마스터 역할의 소유자인 도메인 컨트롤러의 명령 프롬프트에서 다음 명령을 수행했고, 그림 2와 같은 결과를 얻었습니다.

 

repadmin /showreps

 

 

[그림 2] 복제 상태 1

 

출력결과를 살펴보고 도메인 컨트롤러가 가장 최근 재시작 이후에 자신의 복제 파트너로 부터 성공적으로 복제되었는지 확인하니, 문제가 있네요. 초기 동기화의 문제는 시간이 지나면 해결이 될수 있지만, 아닐 수도 있습니다.

그래서 이 부분을 다음의 그림처럼 [AD 사이트 및 서비스에서 [Replicate Now]를 클릭해 즉시 복제를 수행해봤습니다.

 

 

[그림 3] 지금 복제

 

 

[그림 4] 결과

 

다시 "repadmin /showreps"를 수행하니 이제 다음과 같이 그림 2의 문제가 해결된 것으로 나옵니다.

 

 

[그림 5] 복제 상태 2

 

 


 

Comment +0

RODC의 가장 중요한 이점은 쓰기 가능한 도메인 컨트롤러에 비해 비교적 관리 노력을 덜 필요로 한다는 점이다

. RODC를 사용하면 인바운드 복제만 필요하고 Active Directory 데이터베이스에 잘못된 정보가 기록되지 않는

다.

 

RODC에 필요한 최소한의 관리 요구사항은 암호 복제 정책이다. 하지만, RODC도 쓰기 가능한 도메인 컨트롤러

처럼 서버 자체에 대한 유지보수 활동이 필요하다. 이런 활동에는 정기적인 시스템 상태 데이터의 백업이나 애

플리케이션이나 드라이버 업데이트 등이 있다.


비교적 본사보다 덜 안전한 지사 등에 RODC를 배포하는 목적 상 로컬에서의 관리를 위해 RODC는 로컬 관리자그

룹에 도메인 계정을 추가할 수 있는 기능을 제공한다. 여기에 도메인 계정을 추가하면 서버를 유지보수하고 해

당 계정으로 대화식 로그온이 가능해진다. 그러나 이 계정에 역할을 위임하지 않았다면 액티브 디렉터리 개체

를 추가하거나 변경하지는 못한다.

 

이런 형식의 사용자를 추가하는데 사용하는 명령이 있다.


바로 명령창에서 "dsmgmt.exe" 유틸리티를 사용해야 한다.

 

다음 그림은 도메인 계정(Adatum\Aziz)을 로컬 역할에 추가하고 추가된 계정의 역할을 확인해본 것이다.

 


[로컬의 관리자 그룹에 역할을 추가하기 위해 사용한 명령]

add <도메인 계정> Administrators


[관리자 그룹에 추가된 역할을 확인하는 명령]
show role Administrators


추가적인 정보는 다음의 TechNet 웹 사이트를 참고하면 된다.

RODC 관리자 역할 구분 구성

 

Comment +0

일전에 강의를 하면서 이런 질문을 받은 적이 있습니다.

"Active Directory에서 계정을 만들면서 성과 이름 부분에 값을 입력하면 항상 표시 이름이 <Hong GilDong>과 같은 식으로 나와서 이를 일일이 수정해야 했습니다. 계정을 생성할 때 부터 표시 이름이 <Hong.GilDong>이라고 나오도록 하는 방법이 없을까요"

이러한 문제를 해결할 수 있는 방법을 지금 부터 설명합니다.

 

이 문제를 해결하기 위해 사용하는 도구는 "ADSI Edit"라는 도구로 Windows Server 2012의 경우 다음의 그림 처럼 [서버 관리자]의 [도구]메뉴에서 실행할 수 있습니다.

 

 

[ADSI Edit]를 실행하고 [연결 설정] 대화상자에서 다음처럼 [Naming Context] 항목을 "Configuration"으로 바꿔줍니다.

 


이제 다음 화면 처럼 [CN=Configuration] 노드와 [CN=DisplaySpecifiers] 노드를 확장하고 [CN=409] 노드를 선택합니다. 오른쪽 창에 보이는 항목 중에서 [CN=user-Display]를 더블 클릭합니다. 여기서는 영어 로캘 ID인 409를 선택했지만, 한국어라면 "412"를 선택합니다.

 


[CN=user-Display Properties]창에서 [특성 편집기] 탭의 특성 항목중 [createDialog] 항목을 더블클릭합니다.

 

 

문자열 속성 편집기 대화상자에서 "성.이름"으로 표시하기 위해 다음 화면 처럼 "%<givenName>.%<sn>"를 입력합니다. 여기서 표시이름 형식을 정의에는 %<sn>, %<givenName> 및 %<initials> 3가지 파라미터 뿐이라는 사실을 기억 합시다.

확인을 눌러 모든 대화상자를 닫습니다.

 


이제 [Active Directory 사용자 및 컴퓨터] 스냅인으로 [RnD]라는 OU 아래에 새로운 계정을 만들어 보겠습니다.

 

 

다음 화면에서 주목할 수 있듯이 새로운 계정의 표시이름은 Hong.GilDong과 같은 원하는 형식으로 표시되고 있음을 알 수 있습니다.

 

Comment +0

 Windows 설치 미디어(ISO 이미지 파일이나 DVD)없이 Windows 8.1 USB 설치 미디어를 만드는 방법을 소개합니다.

여기에서 설명하는 방법은 여러분이 다음과 같은 조건을 만족한다는 전제하에 가능합니다.

 

◐ USB 설치 미디어를 만들려는 해당 Windows 8.1의 정식 라이선스 키가 있다

만들고자하는 설치 미디어의 아키텍처(x86 또는 x64)에 맞는 현재 Windows 8.1/8 또는 Windows 7을 사용하는 컴퓨터가 있다.

◐ Windows 8.1 설치 미디어를 만들기에 충분한 여유공간이 있는 USB

◐ USB 설치 미디어를 만드는 컴퓨터는 인터넷에 연결되어 있다.

 

지금 소개하는 방법은 Windows 8.1 설치 프로그램을 다운로드하여 USB나 DVD로 만드는 방법입니다. 이 방법을 실행하기 위해 먼저 Windows 8.1의 라이선스를 확인하고 다운로드를 진행한 뒤 설치 미디어를 만드는 전체 과정을 진행하는 프로그램이 필요합니다.

이 프로그램은 WindowsSetupBox.exe(링크 클릭)라는 마이크로소프트에서 배포하는 무료 프로그램입니다.

 

이제 진행 과정을 간단히 스크린샷으로 소개하겠습니다.

 

1. 다운로드한 WindowsSetupBox.exe를 더블클릭해 실행하면 제일 먼저 유효한 Windows 8.1 라이선스 입력을 요구합니다.

 

2. 라이선스가 확인되면 이제 Windows 8.1 다운로드가 진행됩니다. 사용하는 네트워크 환경에 따라 시간이 걸릴 수 있습니다.

 

3.다운로드가 완료후 설치파일에 대한 준비과정이 진행됩니다.

 

4. 설치파일에 대한 모든 준비가 끝나고 나면 이제 Windows 8.1 설치에 대한 3가지 옵션 중 하나를 선택할 수 있습니다.
 - 지금 설치: 현재 운영체제에 대한 바로 업그레이드를 진행할 수 있습니다.
 - 미디어를 만들어 설치: USB 설치 미디어나 DVD 설치를 위한 ISO 이미지를 만드는 작업을 진행할 수 있습니다.
 - 데스크톱에서 나중에 설치: 향후에 설치하기 위한 옵션 입니다.

 

 

5. 앞서 [미디어를 만들어 설치]를 선택하고, 여기서는 [USB 플래시 드라이브] 옵션을 선택합니다.

 

6. 연결된 USB 드라이브를 선택할 수 있고, 진행하게되면 선택된 USB 드라이브의 데이터는 모두 지워집니다.

 

7. USB 플래시 드라이브를 만드는 과정이 진행됩니다.

 

8. USB 플래시 드라이브 준비가 모두 끝나고 제품 키를 다시 한번 확인 합니다.


이상의 과정을 거쳐 만든 USB 설치 미디어를 Windows 8.1을 설치하기 원하는 장치에 연결한 후 USB 부팅을 진행하면 새로운 Windows 8.1의 세계로 들어갈 수 있습니다.

 

 

Comment +0

이번 글에서는 그룹 정책을 사용해 소프트웨어를 배포하는 GPSI 기능을 살펴봅니다. GPSI를 통한 소프트웨어 배포는 전체 조직에 소프트웨어를 배포할 수 있는 방법입니다. 단 이 방법으로 배포 가능한 소프트웨어는 마이크로소프트 인스톨러(msi)파일만 가능합니다. 

 

이 글에서 설명하는 시스템 환경은 다음과 같다고 가정합니다.

 

▣ 도메인 컨트롤러: Windows Server 2008 R2

▣ 소프트웨어 배포 서버: Windows Server 2008 R2 (NYC-SVR1)

▣ 테스트 클라이언트: Windows 7 (NYC-CL1)

▣ 배포할 소프트웨어: XML Notepad 2007

 

배포를 위한 그룹 만들기

먼저 [Active Directory 사용자 및 컴퓨터] 스냅인에서 소프트웨어를 배포하기 위한 규칙 그룹을 만듭니다. 이 그룹의 이름은 "APP_XML Notepad"로 하겠습니다.

 

 

다음으로 만든 APP_XML Notepad 그룹의 속성에서 멤버 탭을 선택하고 소프트웨어 배포 대상이 되는 "NYC-CL1"이라는 클라이언트를 추가합니다.

 

 

소프트웨어 배포를 위한 공유 폴더 설정

이제 배포하고자 하는 소프트웨어를 공유할 "Software"라는 공유 폴더를 배포서버인 NYC-SVR1에 설정합니다. 이 때 공유 폴더의 NTFS 권한은 다음의 그림과 같이 설정합니다.  기존 상속을 해제하고 일부 계정을 제거한뒤 "Authenticated Users"를 추가했습니다.

 

 

다음으로 공유 권한에서 Everyone을 추가하고 전체권한을 부여합니다. 물론 접근을 보다 제한하고 싶다면 별도의 규칙 보안그룹을 만들어 추가하면 됩니다. 이때 NTFS 권한과 공유 권한 간의 관계를 잘 고려해야 합니다. 이 부분은 다음 번에 별도의 글로 한 번 다루도록 하겠습니다.

 

 

마지막으로 배포할 소프트웨어를 넣어 둘 자식 폴더를 Software 폴더 아래에 "XML Notepad"라는 이름을 생성하고 해당 폴더의 NTFS 권한을 다음 그림과 같이 설정합니다. 여기서 앞서 만든 APP_XML Notepad라는 그룹을 추가하고 필요한 권한을 부여했습니다.

 

 

다음과 같이 배포할 소프트웨어를 앞서 만든 XML Notepad에 복사해둡니다.

 

 

그룹 정책 만들기

배포할 소프트웨어에 대한 준비가 모두 끝났으니, 배포를 위한 그룹 정책을 만들어 보겠습니다. 도메인 컨트롤러에서 그룹 정책 관리 콘솔(GPMC)를 열고 "XML Notepad"라는 그룹 정책을 만들어 "Client Computers"라는 OU에 연결합니다.

 

 

만든 그룹 정책을 편집하기 위해 GPMC에서 해당 그룹정책을 오른 클릭하고 그룹정책 편집기(GPME)를 실행합니다. 

 

 

실행한 GPME에서 다음 그림에서 처럼 [Computer Configuration > Policies > Software Settings]에서 [Software Install]를 마우스 오른 클릭하고 [Package]를 선택합니다.

 

 

배포할 소프트웨어를 지정하는 대화상자에서 앞서 준비한 공유폴더의 소프트웨어를 선택하면,  다음과 같은 [Deploy Software] 대화상자가 실행되며 필요한 옵션을 선택할 수 있습니다. [고급]을 선택한다면 추가적인 설정이 가능합니다.  GPME의 Computer Configuration에서 GPSI는 [할당]과 [고급]간의 선택만 가능합니다. 반대로 User Configuration에서는 [게시] 옵션도 선택 가능합니다.

모든 설정이 끝나면 GPME를 종료합니다.

 

 

이제 그룹 정책을 적용할 범위를 필터링하기 위해 GPMC로 돌아와서 [Security Filtering] 섹션에서 기본 "Authenticated Users"를 제거하고 앞서 만든 "APP_XML Notepad" 규칙 그룹을 추가합니다.

 

 

 

그룹 정책으로 소프트웨어 배포 테스트

지금까지 배포할 소프트웨어 준비와 필요한 그룹 정책을 생성하고 편집했습니다. 최종적으로 해당 그룹 정책이 잘 동작하는지 바로 테스트 해보기 위해 클라이언트 컴퓨터인  NYC-CL1의 도스 명령창에서 "gpupdate /force"를 실행하고 필요한 경우 해당 컴퓨터를 재시작 합니다.

 

 

해당 컴퓨터에 그룹정책이 성공적으로 반영되었다면, 다음 화면에서 처럼 바탕화면에 XML Notepad 2007이 설치되고 [Start > Program Files]에도 해당 프로그램이 설치된것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

Comment +1

  • 필라이프 2015.05.13 15:06 신고

    안녕하세요 포스팅 잘 보았습니다.
    별도의 그룹을 생성해서 하는 이유가 있는지요?
    보통 배포를 할때에 특정 OU에 소속되어 있는 computer 들을 대상으로 배포할텐데..
    그룹으로 computer를 다시 지정하신 이유가 무엇인지 궁금합니다..

Hyper-V에서 사용할 Windows Server 2008/2012/2012 R2 가상 머신을 여러개 만들어야 할 때 보통 Sysprep을 통한 일반화 작업을 많이 합니다. 이번 글에서는 이러한 가상 머신을 쉽게 만들 수 있는 방법을 설명합니다.

 

먼저 할 일은 다음의 마이크로소프트 스크립트 센터를 통해 필요한 파워셸 스크립트를 다운로드 합니다.

Convert-WindowsImage.ps1 다운로드

 

 

이제 정품 Windows Server의 iso 이미지를 가지고 있다는 전제에서 작업하는 방법을 설명합니다. MSDN 서브스크립션이나 TechNet 구독자라면 해당 구독 혜택에서 정품 iso 이미지를 다운로드 할 수 있습니다.

 

 

Windows PowerShell ISE나 Windows PowerShell을 열고 방금 다운로드한 파워셸의 위치로 이동하고 다음과 같이 실행합니다.

 

.\Convert-WindowsImage.ps1 -SourcePath R:\TechNet\ko_windows_server_2012_r2_x64_dvd_2708005.iso -VHDFormat VHDX -SizeBytes 60GB

 

파워셸 스크립트 실행 옵션을 조정하지 않고 실행 했다면, 다음과 같은 오류를 만나게 됩니다.

 

.\Convert-WindowsImage.ps1 : 이 시스템에서 스크립트를 실행할 수 없으므로 B:\Lecture_Prep\PS_script\Convert-WindowsImage.ps1 파일을 로드할 수 없습니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=135170의 about_Execution_Policies를 참조하십시오.
위치 줄:1 문자:1
+ .\Convert-WindowsImage.ps1 -SourcePath R:\TechNet\ko_windows_server_2012_r2_x64_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

 

이런 경우 현재 다운로드한 스크립트에 대한 실행 옵션을 조정해주어야 합니다. 인터넷에서 다운로드한 서명 없는 스크립트가 실행되려면 Windows PowerShell에서 다음과 같이 해줘야 합니다.

 

 

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

 

이제 다시 앞서 다운로드 받은 스크립트를 실행 하면, 이번에는 다음과 같은 오류를 만날 수 있습니다.

 

.\Convert-WindowsImage.ps1 -SourcePath R:\TechNet\ko_windows_server_2012_r2_x64_dvd_2708005.iso -VHDFormat VHDX -SizeBytes 60GB

Windows(R) Image to Virtual Hard Disk Converter for Windows(R) 8
Copyright (C) Microsoft Corporation.  All rights reserved.
Version 6.2.8424.1.amd64fre.fbl_core1_hyp_dev(mikekol).120517-1616 Release Preview

WARN   : Transcription is already running.  No Convert-WindowsImage-specific transcript will be created.
INFO   : Opening ISO ko_windows_server_2012_r2_x64_dvd_2708005.iso...
INFO   : Looking for D:\sources\install.wim...
ERROR  : You must specify an Edition or SKU index, since the WIM has more than one image.
ERROR  : Valid edition names are:
ERROR  :   ServerStandardCore
ERROR  :   ServerStandard
ERROR  :   ServerDataCenterCore
ERROR  :   ServerDataCenter
ERROR  : ScriptHalted

INFO   : Log folder is C:\Users\ADMINI~1\AppData\Local\Temp\2\Convert-WindowsImage\25158f37-dda3-49f9-aac8-ffa267634111
INFO   : Closing Windows image...
INFO   : Closing ISO...
INFO   : Done.

 

이런 오류가 발생하는 이유는 제가 사용한 정품 이미지에는 4가지 Windows Server 에디션이 존재하기 때문입니다. 따라서 스크립트 실행 옵션에서 원하는 에디션을 다음과 같이 지정해서 스크립트를 실행 해줘야 합니다.

 

.\Convert-WindowsImage.ps1 -SourcePath R:\TechNet\ko_windows_server_2012_r2_x64_dvd_2708005.iso -Edition ServerDataCenter -VHDFormat VHDX -SizeBytes 60GB

 

Windows(R) Image to Virtual Hard Disk Converter for Windows(R) 8
Copyright (C) Microsoft Corporation.  All rights reserved.
Version 6.2.8424.1.amd64fre.fbl_core1_hyp_dev(mikekol).120517-1616 Release Preview

 

WARN   : Transcription is already running.  No Convert-WindowsImage-specific transcript will be created.
INFO   : Opening ISO ko_windows_server_2012_r2_x64_dvd_2708005.iso...
INFO   : Looking for D:\sources\install.wim...
INFO   : Image 4 selected (ServerDataCenter)...
INFO   : Creating sparse disk...
INFO   : Attaching VHDX...
INFO   : Disk initialized...
INFO   : Disk partitioned...
INFO   : Volume formatted...
INFO   : Access path (G:\) has been assigned...
INFO   : Applying image to VHDX.  This could take a while...
INFO   : Signing disk...
INFO   : Image applied.  Making image bootable...
INFO   : Opening G:\boot\bcd for configuration...
INFO   : BCD configuration complete. Moving on...
INFO   : Drive is bootable.  Cleaning up...
INFO   : Generating name for VHDX...
INFO   : Closing VHDX...
INFO   : Closing Windows image...
INFO   : Closing ISO...
INFO   : Done.

 

 

스크립트 실행이 성공하면 다음 처럼 VHDX 이미지 파일로 변환된 것을 볼 수 있습니다.

 

 

이제 Hyper-V 관리자에서 새로운 가상 컴퓨터를 만드는 과정에서 다음 그림처럼 [가상 하드 디스크 연결] 섹션에서 [나중에 가상 하드 디스크 연결] 옵션을 선택합니다.

 

 

이렇게 만들어진 가상 머신의 디렉터리에 다음 그림에서처럼 [Virtual Hard Disks] 폴더를 만들고 조금전에 만든 VHDX 이미지를 복사해 넣고 적절한 이름으로 변경합니다.

 

 

Hyper-V 관리자로 돌아와서 방금 만든 가상 머신의 설정에서 복사해 넣은 VHDX 이미지를 다음과 같이 연결해줍니다.

 

 

이상의 모든 설정이 끝났다면, 가상 머신을 시작하고 연결하면 다음처럼 곧 바로 Sysprep된 이미지를 사용할 수 있게 됩니다.

 

 

Comment +0

 

EFS에서 사용하는 인증서의 관리를 향상하기 위해 내부 CA를 구성해 사용자에게 인증서를 발행하려면, EFS(Encrypting File System)를 위한 복구 에이전트 인증서 업데이트 작업이 필요합니다.

 

다음은 해당 작업의 절차와 해당 작업 중에 발생하는 오류에 대해 자세히 설명합니다.

 

1. 서버 관리자의 [도구] 메뉴에서 그룹정책 관리콘솔(GPMC)를 실행하고(그림 1), "Default Domain Policy"을 편집하기 위해 그룹정책 편집기(GPME)를 실행합니다(그림 2).

 

[그림 1] 그룹정책 관리콘솔

 

[그림 2] 그룹정책 편집기

 

2. GPME에서 [Computer Configuration->Policies->Windows Settings->Security Settings->Public Key Polices->Encrypting File System]을 찾아갑니다(그림 3).

 

[그림 3] EFS용 인증서 확인

 

3. 이제 기존에 발행된 "Administrator"라는 자체 서명된 인증서를 삭제합니다(그림 4). 영구 삭제할지를 물어보는 대화상자가 나타나면 [Yes]를 클릭합니다.

 

[그림 4] 기존 인증서 삭제

 

4. 삭제가 완료되고 나면 [그림 5]와 같은 모습이 됩니다. 여기서 이제 새로이 업데이트된 인증서를 만들어 줍니다.

 

[그림 5] 인증서 삭제 후

 

5. 새로운 인증서를 만들기위해 방금 인증서를 삭제한 "Encrypting File System" 노드에서 오른 클릭해 [Create Data Recovery Agent] 메뉴를 클릭합니다(그림6).

 

[그림 6] 데이터 복구 에이전트 생성

 

이때 [그림 7]에서 보인 오류를 만날 수 있습니다.
"Windows cannot create a data recovery agent. An existing connection was forcibly closed by the remote host"

 

[그림 7] 데이터 복구 에이전트 생성 오류

 

새로운 데이터 복구 에이전트를 생성하는 작업은 기본적으로 AD 인증기관(certsrv.msc)에서 제공하는 [Certificate Templates] 노드내의 "EFS Recovery Agent" 템플릿을 사용합니다 (그림 8).

 

[그림 8] 인증기관의 EFS Recovery Agent 템플릿

 

6. 인증기관에서 해당 템플릿을 확인해보고 문제가 없다면, 조금 전에 발생한 오류는 해당 인증서 서비스의 동작상태를 의심해볼 수 있습니다. 따라서 해당 문제가 기본적으로 인증서 생성과 연관된 문제이므로 인증서 서비스를 먼저 재시작합니다(그림 9).

 

[그림 9] 인증서 서비스 재시작

 

7. 이제 다시 "Encrypting File System" 노드에서 오른 클릭해 [Create Data Recovery Agent] 메뉴를 클릭해보면, [그림 10]에서 보인것 처럼 정상적으로 데이터 복구 에이전트 인증서가 생성됩니다.

 

[그림 10] 데이터 복구 에이전트 인증서 생성 성공

Comment +0

이제 원격 액세스 활용의 마지막 단계로 가상 머신에서 인터넷 접속이 가능하도록 설정하는 방법과 외부에서 자신의 가상머신으로 원격 데스크톱 서비스에 연결할 수 있도록 라우팅 및 원격 액세스 서비스를 설정하는 방법을 살펴보자

 

앞서 원격 액세스 활용 2에서 잠깐 언급했지만, 라우팅 및 원격 액세스 구성을 하기전에 Hyper-V 관리자에서 먼저 내부 타입으로 가상 네트워크 스위치를 만들고 정적 IP를 부여해야 한다. 

예를 들면 호스트에서 [제어판 > 네트워크 및 인터넷 > 네트워크 및 공유 센터]로 가서 왼편 탐색창의 [어댑터 설정 변경]을 클릭하고 NIC 목록에서 Hyper-V에서 만든 "vEthernet (Internet)"의 속성 창을 띄운 뒤 "Internet Protocol Version 4(TCP/IPv4)"의 속성에서 다음과 같이 사설 IP 주소를 정적으로 할당하면 된다.

 

 

[가상 머신 설정]

먼저 Windows Server 2012의 Hyper-V에서 호스팅하고 있는 가상 머신에서 내부 타입의 가상 스위치를 통해 인터넷 접속을 가능하도록 구성해보자. 

 

1. Hyper-V에서 필요한 가상 머신을 시작하고 "Microsoft Hyper-V Network Adapter"의 "Internet Protocol Version 4(TCP/IPv4)"의 속성에서 다음과 같이 설정한다.

 

 

2. 가상 머신에서 IE를 실행하고 웹 사이트를 접속해보면 정상적으로 인터넷에 접근이 되는 것을 알 수 있다.

 

 

[가상 머신 원격 데스크톱 접속을 위한 설정]

이제 마지막으로 Hyper-V에서 사설 IP 로 호스팅 중인 가상머신에 원격 데스크톱 서비스로 연결하기 위한 설정을 살펴보자.

 

1. Windows Server 2012 호스트의 [라우팅 및 원격 액세스] 서비스를 실행하고 다음 그림 처럼 내부 타입의 가상 스위치를 오른 클릭한 뒤 [속성]을 선택한다.

 

 

2. [vEthernet (Atheros ~)] 라는 대화 상자에서 [서비스 포트] 탭을 클릭하고 아래의 [추가] 버튼을 클릭한다.

 

 

3. [서비스 추가] 대화상자가 실행되면 [서비스 설명] 항목에 적절한 이름을 넣고, [들어오는 포트]에 원하는 포트 번호를 넣고 [개인 주소] 항목에는 원격 데스크톱 서비스에 연결할 가상머신의 IP 주소를 넣는다. 마지막으로 [나가는 포트]에는 원격 데스크톱 서비스의 포트인 3389를 넣어준다.

 

 

4. 원격 데스크톱 서비스를 제공할 가상 머신에서 원격 데스크톱 서비스를 활성화 한다.

 

 

5. [Windows]+[R]을 눌러 실행창을 띄우고 "mstsc"를 입력한뒤 [원격 데스크톱 연결] 대화상자에서 다음과 같이 호스트의 주소와 조금전에 4번에서 설정한 들어오는 포트를 넣고 [연결] 버튼을 클릭한다.

 

 

6. 원격 데스크톱의 연결이 이뤄지고 인증 정보를 넘긴 다음에는 최종적으로 다음 그림 처럼 외부에서 가상머신의 원격 데스크톱을 붙어서 사용할 수 있게된다.

 

 

Comment +2

앞서 원격 액세스 활용 1에서 Windows Server 2012의 원격 액세스 역할을 설치했었다. 이제 이 글을 쓰는 첫 번째 목적인 사설 IP를 사용하는 가상 머신에서 인터넷에 접속 가능하도록 구성하는 방법에 대해 살펴보자.

 

1. 서버 관리자의 [도구] 메뉴에서 [라우팅 및 원격 액세스]를 실행하고 왼편 탐색창에서 해당 서버를 오른 클릭한 뒤 [라우팅 및 원격 액세스 구성 및 사용] 메뉴를 클릭한다.

 

 

2. [라우팅 및 원격 액세스 서버 설치 마법사]에서 [구성] 섹션에서 "NAT"를 선택하고 [다음] 버튼을 클릭한다.

 

 

3. [NAT 인터넷 연결] 섹션에서 "이 공용 인터페이스를 사용하여 인터넷에 연결"을 선택하고  인터넷에 연결된 NIC을 선택해준다.
NAT를 사용하려면 최소한 NIC이 두개이상 되어야 한다.

 


여기서는 Hyper-V에서 내부 타입의 가상 네트워크 스위치를 만들고 이를 통해 가상머신에서 인터넷 통신을 하는 것으로 구성한다.

사전에 Hyper-V에서 가상 네트워크 스위치를 미리 만들어 놓도록 하자.

 

4. [네트워크 선택] 섹션에서 앞서 3에서 선택한 공용 인터넷 액세스용 NIC와 통신할 내부 타입의 NIC를 선택하고 [다음]을 클릭한다.

 

 

5. [라우팅 및 원격 액세스 서버 설치 마법사 완료] 섹션이 나올때 까지 [다음]을 클릭하고 마지막 단계에서 [마침]을 클릭해 설치 마법사를 완료한다. 다음과 같은 경고 창이 뜬다면 경고 창을 닫지 말고 다음 단계를 진행한다.

 

 

6. 추가적으로 Windows 방화벽에서 [인바운드 규칙]과 [아웃바운드 규칙]에서 각각 [라우팅 및 원격 액세스(L2TP-In)]과 [라우팅 및 원격 액세스(L2TP-Out)]을 오른 클릭하고 [규칙 사용]을 선택한다.

 

 

7. 모든 설정이 완료되었다면, 다음 그림처럼 라우팅 및 원격 액세스의 서비스가 정상적으로 표시된다.

 

 

이로서 기본적인 구성을 마쳤다. 다음에는 이러한 구성을 기반으로 가상 머신에서 인터넷을 접근하기 위한 설정과 외부에서 가상 머신의 원격 데스크톱 서비스를 바로 접근하는 구성을 다뤄볼 것이다.

Comment +2

소규모 개발 조직에서 한 두대의 워크스테이션으로 개발 직원에게 개발이나 테스트용 가상 머신을 할당해 줄 수 있다면, 개발에 효율성을 기할 수 있다.
지금 다소 간단히 설명하는 방법은 다음과 같은 필요에 부합할 수 있다.

 

인터넷에 접속 가능한 공용 IP 하나로 가상 머신에서도 인터넷 접근을 가능하게 하고 싶다.
호스트 Windows Server는 원격 데스크톱을 접근하지 않고 각자의 가상 머신에 직접 원격 데스크톱 연결을 제공하고 싶다.

 

이제 부터 Windows Server 2012에서 이러한 필요성을 채워줄 수 있는 방법을 잠깐 다뤄보자. 총 4회에 걸쳐 위에서 언급한 필요성을 채워 볼것이다. 그러므로 먼저 원격 액세스 서비스를 설치하는 작업 부터 진행한다.

 

1. 서버 관리자에서 [역할 및 기능 추가]를 클릭하고 [서버 역할] 선택 항목까지 진행하고 나면 다음 그림에서 처럼 [원격 액세스] 항목을 찾을 수 있다.

 

 

2. 원격 액세스 항목을 체크하면 필요한 기능 추가를 요청하는 아래 그림과 같은 대화 상자가 뜬다. 여기서 [기능 추가] 버튼을 살포시 눌러준다.

 

 

3. 마법사를 계속 진행해 [원격 액세스] 하위의 [역할 서비스]에서 다음 그림 처럼 "라우팅" 항목을 선택해준다. NAT 기능을 사용하기 위해 필요하다.

 

 

4. 마지막 [확인] 단계까지 진행한 뒤 [설치] 버튼을 클릭해 역할 설치를 마친다.

 

 

5. 모든 설치가 잘 끝났다면 다시 서버 관리자에서 [도구] 메뉴에서 [라우팅 및 원격 액세스]라는 도구를 확인할 수 있다.

 

Comment +0

사실 2012년 클라우드 열풍과 함께 마이크로소프트의 서버 제품군에서도 많은 변화가 있었습니다. 가장 큰 변화는 새로 나오는 제품들이 기본적으로 클라우드라는 환경을 염두에 두고 개발되고 있다는 점이겠죠.

 

기존의 관리 및 보안과 관련된 제품 군에서도 변화가 있습니다. 그 변화에 선두에 서있는 제품이 System Center 2012 입니다. System Center 2012 는 사설 클라우드를 위한 토탈 관리 솔루션을 제공하도록 새롭게 포지셔닝 된 제품 입니다. Windows Server 2012의 커다란 변화와 System Center 2012 SP1의 등장은 사설 클라우드의 구축과 관리를 위한 마이크로소프트의 철학과 기술이 결집된 결과물입니다.

 

앞으로 System Center 2012 SP1과 윈도우 서버 2012에 대해 자주 포스팅할 기회가 있겠지만, 지금은 여기에 대한 얘기를 잠깐 접어 두고 Windows Server에 설치할 안티바이러스 백신을 궁금해하는 분을 위해 어디서 찾고 어떻게 설치하는지 지금 부터 제가 알려드리겠습니다. 결론부터 말하자면  Windows Server에 설치할 안티바이러스 백신은  System Center 2012에서 찾을 수 있습니다.

 

1. 먼저 다음의 사이트에서  System Center 2012 트라이얼 버전을 받는다.

 

System Center 2012 Trial Download

 

 

 

2. 위 사이트에서 [Download Trial]을 클릭하면 다음의 페이지로 이동합니다. 여기서 [Product] 라는 드롭다운을 클릭하고 "System Center Endpoint"를 선택하고 맨 아래 [Download Trial] 링크를 클릭한다.

 

3. 다음 그림의 [Get Started Now]를 클릭하면 해당 제품의 트라이얼 버전을 받게된다. 받은 제품을 적절한 위치에 풀어놓는다.

 

 

4. 제품을 풀어 놓은 위치로 가서 다음 그림에 나타낸것 처럼 SMSSETUP 폴더를 찾는다. 그리고 폴더 내에서 "CLIENT"라는 폴더를 확인한다.

 

5. 다음 그림 처럼 "CLIENT" 폴더 내의 SCEPInstall.exe라는 파일을 더블 클릭한다.

 

6. System Center 2012 End Point 설치 마법사가 다음 처럼 실행된다.

 

 

 

7. System Center 2012 End Point 사용권 계약에 동의한다.

 

 

 

8. 다음 화면에서 환경 개선 프로그램에 참여할지를 결정한다.

 

 

9. 보안 최적화를 실행하고 필요한 경우 방화벽을 켠다.

 

 

10. 이제 다음 설치 준비 완료 페이지를 읽어보고 혹 다른 백신 프로그램을 사용하는 경우는 그 전에 먼저 제거되어야 한다.

 

 

11. 설치 진행 페이지에서 설치 현황을 확인하고 설치 마법사에서 보여주는 [설치 완료] 페이지를 확인한다.

 

 

 

12. 이제 설치된 System Center 2012 End Point를 실행해 다음 그림 처럼 바이러스 및 스파이웨어 정의 상태를 업데이트한 뒤 해당 Windows Server에 대한 기초적인 검사를 수행할 수 있다.

 

 

이제 서버에 안티바이러스 백신을 설치했으므로 보다 안전한 서버 사용이 가능하다. 비록 트라이얼 버전을 받기는 했지만 클라이언트용 안티바이러스 백신에 대해서는 트라이얼 버전으로서의 제약이 해당되지 않는다.

 

 

 

 

 

 

 

 

 

Comment +0

최근 Windows 8의 가볍고 날렵한 성능과 메트로 UI에 점점 익숙해져 가면서 어느순간 나 스스로가 이전의 Windows 7과 잠깐씩 비교하고 있다는 점을 깨닫게 되었다. 그러다 보니 지금쓰고 있는 이 글도 Windows 8을 기대하면서 Windows 7의 사용자로써 일관된 사용자 경험이 잠깐 꺽이는 것 같아 개선을 기대하며 적어 본 글이다.

 

Windows 7에서 사용하던 검색 기능과 Windows 8의 검색 기능은 사용자 경험이 제법 다르게 느껴진다. 먼저  Windows 7의 검색은 아래 그림 1에서 처럼 [시작] 버튼을 눌러 펼쳐지는 시작 메뉴 아래에 검색 기능이 존재했지만, Windows 8으로 가면 이 검색 기능은 메트로 UI를 시작 화면으로 하고 있고 화면 오른편 가장자리로 갔을 때 그림 2와 같은 검색 기능을 볼 수 있다.

 

[그림 1] Windows 7의 검색 기능

 

[그림 2] Windows 8의 검색 기능

 

이제 몇 가지 검색 실험을 해보자.

우리가 잘 알고 있는 윈도우의 성능 모니터와 시스템 구성 프로그램을 검색해 보았다.

 

1.  성능 모니터 프로그램 검색
먼저 윈도우 7 검색에서는 "성능"이라는 키워드로 검색 했을 때 그림 3에서 보인것 처럼 성능 모니터를 정확히 찾아서 검색 결과에 올려준다. 그러나 그림 4의 윈도우 8 검색에서는 성능과 관련된 검색 결과에 원하는 항목은 보이지 않는다.

다시 Windows 8의 검색에 "perfmon"이라는 실제 프로그램 이미지 이름을 정확히 입력했을 때는 그림 5에서 보듯이 앱이라는 범주로 찾아서 검색 결과에 올려주고 있는 것을 볼 수 있다.

 

[그림 3] Windows 7에서 "성능" 키워드로 검색

 

[그림 4] Windows 8에서 "성능" 키워드로 검색

 

[그림 5] Windows 8에서 "perfmon" 키워드로 검색

 

2. 시스템 구성 프로그램 검색
윈도우 7 검색에서는 "시스템 구성"이라는 키워드로 검색 했을 때 그림 6에서 보인것 처럼 시스템 구성 프로그램을 정확히 찾아서 검색 결과에 올려준다. 그러나 그림 7의 윈도우 8 검색에서는 "시스템 구성" 검색 결과에 원하는 항목은 보이지 않는다.

다시 Windows 8의 검색에 "msconfig"이라는 실제 프로그램 이미지 이름을 정확히 입력했을 때는 그림 8에서 보듯이 앱이라는 범주로 찾아서 검색 결과에 올려주고 있는 것을 볼 수 있다.

 

[그림 6] Windows 7에서 "시스템 구성" 키워드로 검색

 

[그림 7] Windows 8에서 "시스템 구성" 키워드로 검색

 

[그림 8] Windows 8에서 "msconfig" 키워드로 검색

 

Windows 8의 장점이 많지만, 이전 버전의 윈도우에서 제공했던 좋은 기능은 더욱 더 계승 발전시켜야 하지 않을까 생각한다. 어느날 갑자기 Windows 8을 처음 사용하는 사람들 보다는 새로운 버전이 나올때 마다 지금까지 쭈욱 Windows 운영체제를 사용해온 사용자들의 사용 경험이 끊어지지 않았으면 하는 바램이다.

 

이상의 테스트는 Windows 8 릴리즈 프리뷰 버전에서 해본 결과이며 Windows 8 정식 버전에서는 고쳐질것으로 생각한다.

Comment +0


지난 2월 29일 한국 시간으로 저녁 11시에 세간의 지대한 관심을 한 몸으로 받고 있는 본격적인 클라우드 시대의 데스크톱 운영체제인 Windows 8의 컨슈머 프리뷰 버전이 발표되었다. Windows 8 Consumer Preview(윈도우 8 컨슈머 프리뷰)는 시험판 소프트웨어이며 상업용으로 출시되기 전에 상당 부분 수정될 수 있지만, 출시 될 제품의 면면을 경험해 볼 수 있는 좋은 기회가 될 것 같다.

Windows 8 Consumer Preview 홈


[그림 1] Windows 8 Consumer Preview 웹사이트


다운로드 사이트는 위 그림1에서 빨간색 상자의 링크를 클릭하면 그림2의 화면을 보게 된다. 여기서 빨간색 상자의 링크를 클릭하면 웹다운로드를 통해 설치하게 되고, 바로 밑에 오렌지색 상자를 클릭하면 ISO 파일을 다운로드 할 수 있다.


[그림 2] Windows8 Consumer Preview 다운로드 사이트


ISO 이미지 다운로드 링크를 클릭하면 다음의 그림3과 같은 웹페이지로 들어간다. 여기서 언어별 필요한 운영체제를 iso 이미지 파일로 다운로드하게 되는데, 아쉽게도 한글 버전은 제공하지 않는다. 다운로드 할 때 다운로드 링크 바로 아래 있는 제품 키를 따로 적어 놓아야 한다. Windows 8 CP를 설치할 때 이 키의 입력을 요구한다.

[그림 3] ISO 이미지 파일 다운로드


iso 이미지를 다운로드 했다면, ISO 이미지를 DVD 또는 USB 부팅 가능한 플래시 드라이브 등의 설치 미디어로 변환하는 것이 좋다. Windows 7(윈도우 7)에서 ISO 파일을 DVD로 변환하는 가장 쉬운 방법은 Windows(윈도우) 디스크 이미지 버너를 사용하는 것이지만, 마이크로소프트에서 제공하는 USB/DVD 다운로드 도구를 다운로드해서 사용하면 Windows XP 이상의 클라이언트 운영체제에서 모두 사용가능하다. 개인적으로는 이 도구를 추천한다. 이 도구를 다운로드하는 웹사이트의 링크를 아래 나타냈다 (그림4).


Windows 7 USB/DVD Download Tool 다운로드 사이트


[그림 4] Windows 7 USB/DVD Download Tool 다운로드 사이트


화면 하단의 빨간색 상자의 링크를 클릭하면 프로그램을 다운로드할 수 있다. 이 프로그램을 설치하고 실행하면 다음의 그림5와 같은 실행화면을 볼 수 있다.

[그림 5] Windows 7 USB/DVD Download Tool 실행화면


4가지 단계를 거쳐 USB나 DVD에 설치 이미지를 기록하게 되는데, 첫 단계에서 ISO 이미지 파일의 경로를 선택하고 다음 화면(그림6)에서미디어 형식을 선택하게 된다.


[그림 6] Windows 7 USB/DVD Download Tool의 미디어 형식 선택


USB/DVD 다운로드 도구를 사용해 설치 미디어를 만들어 빌립 S5라는 MID에 Windows8 Consumer Preview를 설치 해보았다. 빌립 S5에는 기존에 영문판 Windows XP SP3가 설치되어있었고 여기에 바로 업그레이드 설치를 했다. 빌립 S5는 아톰칩을 사용하는 넷북 스펙의 기기이므로 한결 가벼워진 Windows8의 성능을 체험해볼 좋은 대상이다. 이전에 빌립 S5에 Windows7 Starter 에디션을 설치해 사용해본 경험이 있으므로 좋은 비교가 될 것 같았다.

저녁 11시에 DVD 미디어를 만들어 Windows XP에서 업그레이드 설치를 시작했고 과정은 생각 보다 더디 진행되었지만, 결국 빌립 S5에 Windows8 Consumer Preview가 올라갔다. 다음이 그 인증샷이다.


[그림 7] 빌립 S5에 설치된 Windows8 Consumer Preview

Comment +2

  • 지니 2012.03.06 15:25 신고

    안녕하세요
    한가지 질문이 있습니다.
    viliv S5에 windows 8을 올려봤는데요
    다른건 다 정상인데 wifi의 경우 무선공유기로 부터 ip을 제대로 받아오지 못하는 문제가 있어서.
    다시 원복 하였습니다.

    혹시 이 부분에 대해서 조언을 얻을수 있을까요?
    감사합니다.

  • 저의 경우는 Windows XP HOme SP3에서 업그레이드로 Windows 8 CP를 설치했습니다.
    설치한 이후 대부분의 드라이버는 빌립 홈페이지에서 제공하는 Windows7용 드라이버를 설치했구요. 와이파이의 경우도 장치관리자의 해당 무선 어댑터에서 드라이버 업데이트를 통해 빌립에서 다운로드한 드라이버를 업데이트 했습니다.

Windows 8 개발자 프리뷰 버전의 설치 화면을 담았습니다. 키보드 입력은 한글을 지원하지만 아직은 전체 메뉴는 영어로만 지원됩니다.

 










Comment +0


최근 미국 애너하임에서 개최된 마이크로소프트 개발자 컨퍼런스의 빅 이슈였던 Windows 8 개발자 프리뷰 버전을 아래 사이트에서 다운로드 할 수 있습니다.

Windows 8 Developer Preview Download Site


[Get Started]를 클릭해서 들어 가면 다음의 3가지 다운로드 형식이 제공되는 페이지가 표시됩니다.


개발 도구까지 모두 포함된 버전을 받고 싶다면 맨 위의 [Windows Developer Preview with developer tools English, 64-bit (x64)]를 받으면 됩니다. 대략 4GB가 조금 넘는 ISO 파일로 다운로드 되며, 데몬툴즈 같은 도구를 이용해 가상환경에서 설치해볼 수 있습니다.

32 비트 운영체제를 사용하는 경우는 3번째 다운로드를 선택해야 합니다.

Comment +0