2010. 8. 11. 17:07

안녕하세요~ 윈디안입니다.

오랜만에 포스팅 하네요... 여름 휴가 후에 게으름으로 인한 늦장이였습니다.  죄송합니다. (__)

오늘 이야기해 볼 것은 비교연산자(comparison operator)입니다. 

파워쉘 스크립트들을 예제를 보다 보면 -lt, -le, -eq 이런 녀석을 볼때가 있죠.
대충 분위기를 보면 값을 비교하는 것 같은데 정확한 의미를 알 수 없었습니다.
스크립트를 만들거나 개발을 하신 분들은 이미 익숙 하겠지만 저는 몰랐습니다.

아주 오래전에 비슷한 걸 배웠던 기억만 있었죠.

비슷한???

저는 이런 것을 배웠었거든요

= 같다
< 작다
> 크다
>= 크거나 같다.


느낌이 오시지 않습니까?

그렇습니다.

값을 비교해주는 연산자였던 것입니다.
그래서 비교연산자라고 하겠죠? ㅎㅎ

다음은 Windows PowerShell Quick Reference에 나와 있는 원문입니다.

How to Make Comparisons


Windows PowerShell cmdlets (like Where-Object) use a special set of comparison operators, including those shown in the following table.

 

Each of these operators can be made case sensitive by adding a c immediately after the hyphen. For example,   -ceq represents the case-sensitive equals operator; -clt is the case-sensitive less than operator.

 

-lt

Less than

-le

Less than or equal to

-gt

Greater than

-ge

Greater than or equal to

-eq

Equal to

-ne

Not equal to

-like

Like (uses wildcards for matching)

-notlike

Not like (uses wildcards for matching)

 


간단하게 정리하자면 아래와 같습니다.


-lt Less than 작다
-le Less than or equal to 작거나 같다
-gt Greater than 크다
-ge Greater than or equal to 크거나 같다
-eq Equal to 같다
-ne Not equal to 같지 않다
-like Like (uses wildcards for matching) 유사하다
-notlike Not like (uses wildcards for matching) 유사하지 않다

-c를 통해서 대소문자 구분 추가 가능
  ex> -clt, -cle

영어로 외워두시면 기억하기가 편할 것 같습니다.

원문에 보면 Case sensitive라는 것이 있습니다. 쉽게 대소문자 구분이라고 생각하시면 됩니다.
비교 연산자와 "-"사이에 c 를 추가하여 사용 할 수 있습니다.


참고 링크 : Windows PowerShell Quick Reference
ttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=df8ed469-9007-401c-85e7-46649a32d0e0

비교 연산자뿐 아니라 짧고 굵은 내용이 많습니다. 4쪽 밖에 되지 않으니 Powershell을 시작하시는 분은 꼭 읽어 보셨으면 합니다.

그럼 이만 이번 포스팅을 마치겠습니다.
감사합니다. ^^
Posted by 알 수 없는 사용자
:
2010. 8. 11. 14:27

SCCM 2007 설치전 작업 2 (WSUS / IIS 역할 추가)

별것 아닌 것에 시간을 쏟고 있는 것은 아닌지 하는 생각이 들 때가 있습니다. 지금이 그렇습니다만…현재 위치에서 목적지 까지 바라 보면 그리 짧아 보이지는 않습니다. 

자 그럼 시작해 볼까요.

SCCM의 주요 기능 중 하나는 소프트웨어 배포 입니다. 그 기능을 사용 하기 위해서 Windows Server의 역할 중에 WSUS(Windows Server Update Services)를 추가 해야 하고 WSUS 역할을 추가 하려면 필수 역할인 IIS도 추가 해야 합니다.단순하게 소프트웨어 배포만을 하려 한다면 WSUS만 사용해도 됩니다만 SCCM의 배포 기능이 더욱 강력 할겁니다. (아님 말구요) 어찌되었건 WSUS IIS 역할이 추가 되어야 SCMM을 설치 할 수 있습니다. 시작해 볼까요.

SCCM서버에서 역할을 추가 하겠습니다.

 

1.     Windows Server Update Services 항목에 체크 합니다.

 

2.     클릭 하자 마자 자동으로 역할 추가 마법사가 추가로 필요한 역할 서비스가 있으니 추가하라고 알려 줍니다. 필요한 역할 서비스 추가를 클릭 하고 다음으로 넘어 갑니다.

 

3.     기본적인 체크 상태 에서 다음으로 넘어 갑니다.

 

 

4.     WSUS IIS 역할을 설치 합니다. (시간이 걸립니다. 잠시 쉬세요.)

 

 

5.     특별하게 문제 되는 곳이 없으니 기본 설정인 상태로 진행 하면 설치가 끝납니다.

 

6.     설치가 끝났으면 IIS 에 역할 서비스 추가로 필요한 역할 서비스를 추가해야 합니다. 


 3번 과정에서 기본으로 체크 되어 있는 항목 이외에 다음 항목의 추가가 필요 합니다.

- 일반 HTTP 기능

   WebDAV 게시

- 응용 프로그램 개발

   ASP

- 보안

   기본인증

   URL 권한 부여

- IIS 6 관리 호환성

   IIS 6 WMI 호환성

   IIS 6 스크립팅 도구

   IIS 6 관리 콘솔

 

체크 하고 다음으로 넘어 가서 설치를 합니다.

 

7.     설치가 무사히 완료 되었습니다. 


이번에도 큰 어려움 없이 설치가 끝났습니다. 그리 어려운 부분도 없었으니 골치 아플일도 없었구요. 오늘은 여기까지 하겠습니다.

다음 포스팅에서는 BITS 기능을 추가하는 과정을 알아 보겠습니다.

이 포스팅의 내용은 Windows Server 2008 R2, SCCM 2007 SP2, Microsoft SQL 2008 R2 
환경에서 작성 되었습니다.



Posted by 알 수 없는 사용자
:
2010. 8. 4. 16:58

안녕하세요 Exterminate 입니다.

이번 포스팅은 Powershell로 시스템 상태 백업 만들기 입니다.

Windows Server 2008 R2에서는 백업 일정 마법사, 백업 마법사, Wbadmin start systemstatebackup 명령, Wbadmin enable backup 명령 또는 Windows Server 백업용 Windows PowerShell cmdlet 사용하여 서버의 시스템 상태 백업을 만들 있습니다. 시스템 상태 백업은 로컬로 연결된 내부 또는 외부 디스크나 원격 공유 폴더에 저장할 있으며 DVD, 광학 미디어 또는 기타 이동식 저장 미디어에는 저장할 없습니다. 또한 시스템 상태 백업을 만들 복구를 위한 다른 파일, 폴더 볼륨을 추가할 수도 있습니다.

 

Wbadmin start systemstatebackup 사용하여 일회성 백업 또는 시스템 상태를 만들고 Wbadmin enable backup 사용하여 시스템 상태의 예약된 백업을 만드는 방법에 대해 설명합니다

 

먼저 Wbadmin start systemstatebackup 이용하여 백업하는 방법 입니다.

 

위에서 설명하였다시피 Wbadmin start systemstatebackup 이용한 백업은 일회성 입니다.

 

먼저 구문은 wbadmin start systemstatebackup -backupTarget:<볼륨 이름> [-quiet] 이며

c드라이브에 대한 시스템 상태 백업을 e드라이브에 저장 되도록 실행해 보겠습니다..

wbadmin start systemstatebackup -backupTarget:e: -quiet

 

 

백업에 대한 로그 파일은 C:\Windows\Logs\WindowsServerBackup 경로에 쌓이게 됩니다.

 

E 드라이브에 다음과 같이 파일이 생성이 되며 VHD파일로 백업파일을 지원하고 있습니다.


여기서 잠깐..!

Windows2008에서는 기존 2000,2003에서 지원하던 ntbackup이 지원을 안하며 windows server 백업을 지원하고 있습니다. Ntbackup은 파일 기반 백업 및 복원 도구 이지만 windows server 백업은 볼륨 및 블록 기반의 도구 입니다. Windows server 백업에서는 백업 소스를 볼륨 집합으로 다루며 각 볼륨은 디스크 블록의 모음으로 다룹니다. 이러한 방식은 파일 시스템을 통해 파일을 백업하는 방식보다 훨씬 효율적이라고 합니다.

 

Wbadmin enable backup 이용하여 백업 스케쥴링을 만들어 보겠습니다.

일단 기본 구문은 아래와 같습니다.

wbadmin enable backup [-addtarget:<백업 대상>] [-removetarget:<백업 대상>] [-schedule:<백업 실행 시간>] [-include:<포함할 항목> [-nonRecurseInclude:<포함할 항목>] [-exclude:<제외할 항목>] [-nonRecurseExclude:<제외할 항목>] [-allCritical] [-systemState] [-vssFull | -vssCopy] [-user:<사용자 이름>] [-password:<암호>] [-quiet]

 

D드라이브를 백업하며 기본적으로 포함되는 c드라이브를 제외하여 스케쥴링을 적용해보겠습니다.

wbadmin enable backup -addtarget:e: -include:d: -exclude:c: -schedule:02:00 -systemState –quiet


 

정상적으로 예약 작업이 실행 되었으며 적용된 사항 확인해보도록 하겠습니다.

 

 

백업 항목을 보시면 기본적으로 C 볼륨이 적용되지만 제외된 것을 확인할 수 있습니다.

addtarget에서 지정한 e 볼륨에 백업파일이 생성되며 생성된 백업파일 VHD

디스크 관리에서 VHD연결을 통하여 백업 데이터 확인할 수 있습니다.

감사합니다.

Posted by 알 수 없는 사용자
:
2010. 8. 4. 10:50

이전 포스팅에서 무작정 SCCM을 설치하면 않된다는 것을 보았습니다. 이제 SCCM 설치전에 해야 할 작업들에 대해서 하나씩 짚고 지나가 보겠습니다.

우선 아래 요구 조건을 모두 충족 한다는 조건에서 시작을 합니다.

설치 환경 (버전은 사용자의 환경에 따라 달라질 수 있습니다.)

SCCM 설치에 동원 되었던 제품군들.

  - Windows Server 2008 R2 한글판

  - Microsoft SQL Server 2008 R2 한글판

  - SCCM 2007 SP2 한글판(의미 없는 한글판)
인프라

  - SCCM 서버는 AD Join 되어 있음
위와 같이 준비가 되었으면 시작 하겠습니다.

오늘 진행할 내용은 AD 스키마 확장시스템 컨테이너 권한 부여 작업 입니다.

이 작업은 SCCM 환경의 보안 수준을 높이기 위함 이라고 보면 될까요? AD 스키마에 SCCM을 확장 시키고 게시 권한을 부여 하는 과정을 거치면 클라이언트는 믿을 수 있는 권한 있는 관리 포인트를 확인할 수 있게 됩니다. 또한 AD는 사이트간 데이터 전송 서명에 사용되는 공개 키를 저장하거나 변경될 경우 상하위 사이트에 자동으로 전송 하는 기능도 하게 됩니다. 아무튼 스키마 확장은 필수 작업은 아니지만 보안적인 측면에서 본다면 꼭 해야 할 작업중 하나 입니다.

1. AD 스키마 확장

이에 대한 자세한 내용은 http://technet.microsoft.com/en-us/library/bb633121.aspx 참고 하면 됩니다.

1-1. 스키마 확장을 위하여 SCCM 설치 DVD SMSSETUP\BIN\i386 폴더에 있는 ExtADSch.exe 파일이 필요 합니다.


1-2. 이 파일을 AD로 복사해 와서 도스창을 열고 실행 합니다. (쉽죠?)

1-3. AD의 시스템 드라이브(보통 C 드라이브) 루트에 있는 ExtADSch.log 파일을 열어서 확인 합니다.


2.
시스템 컨테이너 권한 부여

SCCM이 사용하는 항목들이 AD에 반영되려면 SCCM 서버의 계정이 System 컨테이너에 적절한 권한이 있어야 합니다. 당연히 AD에서 해당 권한 작업을 수행 해야 합니다. (SCCM을 운영 하려는 회사의 관리자(또는 운영자) AD를 잘 모른다면 이후에도 몇 번의 AD 작업이 수행될 때 마다 어려울 수 있습니다. AD를 잘 모른다면 지금 부터라도 조금씩 AD 공부를 해두는 것이 좋습니다.)

2-1. AD에서 사용자 및 컴퓨터를 실행 합니다.

2-2. 보기 메뉴의 고급기능에 체크 합니다. 이는 System 컨테이너를 확장 시키기 위함 입니다.


2-3. System 컨테이너의 속성을 엽니다.

2-4. 보안 탭으로 이동해서 추가 버튼을 클릭 합니다.

2-5. 개체 유형을 클릭 합니다.

2-6. 컴퓨터 항목을 체크 하고 확인을 클릭 합니다.

2-7. 개체 이름에 SCCM 서버 이름을 입력 하고 확인, 확인을 클릭 합니다.

2-8. 2-7에서 입력한 개체 이름이 선택된 상태에서 고급을 클릭 합니다.

2-9. 2-7에서 입력한 개체 이름이 선택된 상태에서 편집을 클릭 합니다.

2-10. 적용 대상을 이 개체 및 모든 하위 개체로 변경 하고 모든 권한 허용에 체크 합니다.

2-11. 확인, 확인, 확인 을 클릭 하여 속성에서 빠져 나옵니다.

2-12. SCCM 서버를 재부팅 합니다. 권한 설정 적용을 위해서 입니다. (실수로 AD를 재부팅 하지 마세요!!!)

위의 작업은 10분도 걸리지 않겠지만 포스팅 하는 사람 입장에서는 기~인 시간이 걸리는군요.

오늘은 여기까지 입니다.



  Windows Server 2008 R2, SCCM 2007 SP2, Microsoft SQL 2008 R2 환경에서 작성 되었습니다.


 

'System Center' 카테고리의 다른 글

SCCM 2007 설치 전 작업 4 (WebDAV)  (0) 2010.08.16
SCCM 2007 설치전 작업 3 (BITS)  (0) 2010.08.13
SCCM 설치 전 작업 2 (WSUS / IIS 역할 추가)  (0) 2010.08.11
SCCM 설치 실패 시나리오  (1) 2010.07.27
SCCM 이란?  (1) 2010.07.26
Posted by 알 수 없는 사용자
:
2010. 8. 2. 11:50

안녕하세요. 엉스데브입니다.

가끔, 현재 작업 중인 PowerShell 창이 관리자 권한을 가지고 있는지를 확인 하고 싶을 때가 있습니다.
아래 명령어를 실행하면, 관리자 권한이 있는지를 확인 할 수 있습니다.
현재 내가 연 PowerShell 창이 관리자 권한을 가졌는지 여부를 확인 하려면, 아래의 명령어를 사용 하면 됩니다.

([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).isInRole([Security.Principal.WindowsBuiltinRole]::Administrator)



False 가 리턴 되는걸 보니 현재 연 PowerShell 창은 관리자 권한이 없네요.

헌데 명령어가 너무 길죠? ^^;
그래서 저는 아래 Function 을 따로 만들어서 Profile 에 추가 해 두었습니다.

Function Test-Role
{
  Param( [Security.Principal.WindowsBuiltinRole]$Role )

  $CurrentUser = [Security.Principal.WindowsPrincipal]([Security.Principal.WindowsIdentity]::GetCurrent())

  $CurrentUser.IsInRole($Role)
}

사용법은 다음과 같습니다.

Test-Role {"체크할 권한"}

지정 한 권한을 가지고 있다면 True 를 반환하고, 그렇지 않다면 False 를 반환 합니다.

이 Function 으로 관리자 권한을 가지고 있는지 확인 하려면, 아래처럼 사용하면 됩니다.

Test-Role "Administrator"



만약, 잘못 된 값을 지정하면 아래와 같이 오류가 반환 됩니다.


에러 메시지 내용에 현재 시도 할 수 있는 값들을 알려주네요.

스크립트 제작시 권한을 체크해야 할 경우, 유용하게 사용 할 수 있을 것 같습니다.

<참고 URL>
http://serverfault.com/questions/95431/in-a-powershell-script-how-can-i-check-if-im-running-with-administrator-privlie

Posted by 알 수 없는 사용자
:

BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :