2010. 8. 25. 18:09
안녕하세요 윈디안입니다~

늘 띵가 띵가 놀다가 이맘때가 되면 포스팅을 합니다.

오늘 소개올릴 제품은 Powershell Pack입니다.
홈쇼핑 광고 멘트 같군요;

먼저 이 녀석이 무엇인지 알아야 겠죠?

PowerShell Pack은 파워쉘 스냅인으로 Windows 7 Resource Kit의 일부로 사용되고 있습니다.
10개에 피와 살이될 수 있는 모듈의 집합체입니다.

Module

Description

WPK

Create rich user interfaces quick and easily from Windows PowerShell. Think HTA, but easy. Over 600 scripts to help you build quick user interfaces

TaskScheduler

List scheduled tasks, create or delete tasks

FileSystem

Monitor files and folders, check for duplicate files, and check disk space

IsePack

Supercharge your scripting in the Integrated Scripting Environment with over 35 shortcuts

DotNet

Explore loaded types, find commands that can work with a type, and explore how you can use PowerShell, DotNet and COM together

PSImageTools

Convert, rotate, scale, and crop images and get image metadata

PSRSS

Harness the FeedStore from PowerShell

PSSystemTools

Get Operating System or Hardware Information

PSUserTools

Get the users on a system, check for elevation, and start-processaadministrator

PSCodeGen

Generates PowerShell scripts, C# code, and P/Invoke


번역하려 했으나... 하면 할 수록 말이 꼬여 패스합니다.
원문으로 즐겨주세요.

WPK(Windows PowerShell Kit)

먼저 Channel 9에서 배포하는 동영상입니다.

동영상을 보시면 WPK 이해에 큰 도움이 되실듯 합니다.




그럼 시작해 볼까요?

Windows Powershell v2기반입니다.(Windows7 Windows 2008 R2 Powershell V2 내장되어 있습니다.)

1.0  버전은 사용할 없습니다.

 

1.     곳(here)에서 PowerShell Pack 다운로드 받은 MSI 파일을 설치합니다.

2.     파워쉘을 실행합니다.
“Import-Module PowerShellPack”
실행하여 모듈을 로드하여 사용합니다.

3.     모듈사용법은 Get-Help module 통해서 확인할 있습니다.

Get-Help  module




Powershell Pack을 Import한 상태에서 Get-help module을 사용하면 아래와 같이 help command를 확인 할 수 있습니다.

Import-Module powershellpack
get-help module

Name                              Category  Synopsis                                                                                                                                                                                                                            
----                              --------  --------
New-Module                        Cmdlet    메모리에만 있는 새 동적 모듈을 만듭니다.
Import-Module                     Cmdlet    현재 세션에 모듈을 추가합니다.
Export-ModuleMember               Cmdlet    내보내는 모듈 멤버를 지정합니다.
Get-Module                        Cmdlet    현재 세션으로 가져왔거나 가져올 수 있는 모듈을 검색합니다.
Remove-Module                     Cmdlet    현재 세션에서 모듈을 제거합니다.
New-ModuleManifest                Cmdlet    새 모듈 매니페스트를 만듭니다.
Test-ModuleManifest               Cmdlet    모듈 매니페스트 파일이 모듈의 내용을 정확하게 설명하는지 확인합니다.
about_ISEPack_Module              HelpFile  Describes the ISEPack module in the Windows 7 Resource Kit.                                                                                                                                                                    
about_FileSystem_Module           HelpFile  Describes the FileSystem module in the Windows 7 Resource Kit.
about_PSImageTools_Module         HelpFile  Describes the PSImageTools module in the Windows 7 Resource Kit.
about_PSRSS_Module                HelpFile  Describes the PSRSS module in the Windows 7 Resource Kit.
about_PSUserTools_Module          HelpFile  Describes the PSUserTools module in the Windows 7 Resource Kit.
about_System_Module           HelpFile  Describes the System module in the Windows 7 ResourceKit.
about_modules                     HelpFile  Windows PowerShell 모듈을 설치하고 가져와서 사용하는 방법에 대해 설명합니다.
                                           


예를 들어 ISE 모듈에 대한 설명은 아래와 같이 확인이 가능합니다.                      
   

get-help about_ISEPack_Module         



너무 내용이 많아 자세한 설명 보는 법만 소개했네요

그냥 넘어가기는 그러니 몇개만 볼까요?

WPK - 파워쉘 상에서 인터페이스를 만들어 낼 수 있습니다.
(예제를 실행해 보면 완전 신기합니다!!!)

자세한 설명은 다음 문서를 다운로드 받으세요 -> Writing User Interfaces with WPK.

 

사용법

 

import-module WPK



모듈을 import 후 사용하세요.

아래
스크립트는 Powershell ISE에서 사용하세요

예제 1. 메시지 박스 생성

 

New-Label “Hello, World” -Show -FontSize 48


예제
2. 시계

 

New-Label -FontSize 24 -On_Loaded {

    Register-PowerShellCommand -scriptBlock {    

        $window.Content.Content = (Get-Date | Out-String).Trim()

    } -run -in "0:0:0.5"

} -AsJob

 

예제  3. 프로세스 모니터?

 

New-ListView -Width 350 -Height 350 -DataBinding @{

    ItemsSource = New-Binding -IsAsync -UpdateSourceTrigger PropertyChanged -Path Output

} -View {

    New-GridView -AllowsColumnReorder -Columns {

        New-GridViewColumn "Name"

        New-GridViewColumn "Id"

    }

} -DataContext {

    Get-PowerShellDataSource -Script {

        Get-Process | ForEach-Object { $_ ; Start-Sleep -Milliseconds 25 }

    }

} -On_Loaded {

    Register-PowerShellCommand -Run -In "0:0:15" -ScriptBlock {

        $window.Content.DataContext.Script = $window.Content.DataContext.Script

    }

} -asjob


 

예제4. 동영상 플레이

 

New-Window -AllowDrop -On_Drop {

    $file = @($_.Data.GetFileDropList())[0]

    $this.Content.Source = $file

    $this.Content.Play()

} -On_Loaded {

    $this.Content.Source = dir "$env:PUBLIC\videos\Sample Videos" -Filter *.wmv |

        Get-Random | Select-Object -ExpandProperty Fullname

    $this.Content.Play()

} -On_Closing {

    $this.Content.Stop()

} {

    New-MediaElement -LoadedBehavior Manual

} -asJob

 

예제 4. Dialog Box

 

$Name = New-Grid -Rows 2 -Columns 'Auto','1*' {

    $TextChanged = {

        $firstName = Get-Resource FirstName | Select-Object -ExpandProperty Text

        $lastName = Get-Resource LastName | Select-Object -ExpandProperty Text

        $this.Parent.Tag = "$LastName, $FirstName"

    }

    New-Label "First Name"

    New-TextBox -Name FirstName -Column 1 -On_Loaded {

        Set-Resource -Name FirstName -Value $this -Depth -1

    } -On_TextChanged $TextChanged

    New-Label "Last Name" -Row 1

    New-TextBox -Name LastName -Column 1 -Row 1 -On_Loaded {

        Set-Resource -Name LastName -Value $this -Depth -1

    } -On_TextChanged $TextChanged

} -show

 

입력 결과 : $name


 


IsePack - PowerShell ISE에 모듈입니다. 다양한 단축키를 지원합니다.

 

예제

 

Command

Shortcut

Description

Add-InlineHelp

ALT + H

Quickly insert inline help into your functions so that Get-Help can help other users figure out how to use your code

Copy-Colored

CTRL + ALT + C

Email scripts to your colleagues in rich color

Copy-ColoredHTML

CTRL + ALT + SHIFT + C

Blog out the scripts that you write with Copy-ColoredHTML

Show-Syntax

ALT + Y

Select a command and press ALT + Y to see the syntax

Show-Member

ALT + M

Select a variable and pipe to Get-Member and Out-GridView with ALT+M

 

FileSystem - 디스크용량 체크,ZIP 압축파일 지원,드라이브명 변경등 파일 시스템 관련 작업을 지원합니다.

You can use the filesystem module to check free disk space, create and add to zip files, watch locations on the filesystem, find duplicate files, or rename drives.

DotNet - 개발자가 아니라 ... 패스

The DotNet module helps you work with the types loaded on the system. You can use Get-Type to search for loaded .NET types or you can use Get-ProgID to search for loaded COM types. For instance, this one liner will show the fullname property of all types whose short name contains file:

Get-Type | Where-Object { $_.Name –like “*File*” } | Select-Object FullName


You can try creating one of the types with New-Object or getting static members of the type with Get-Member –Static.
To look for COM types, like those used from VBScripts, use something like

Get-ProgID *Image*

 

PSImageTools  - 이미지 파일을 다양하게 지원하는 모듈입니다.


The PSImageTools lets you manage photos of other images using Windows PowerShell. Resize, Rotate, or Crop images, or check out image metadata. Convert to JPEG or Bitmap. Here’s a quick example:

Get-ChildItem $env:UserProfile\Pictures | Get-Image  |Get-ImageProperty

 

PSRSS - RSS를 관리합니다.


PSRss lets you read your RSS feeds from Windows PowerShell. You can subscribe to new feeds, mark articles as read, and get feeds and descriptions. Here’s a quick pipeline to show the 10 most recent RSS articles.

Get-Feed |

    Get-Article |

    Sort-Object PubDate -Descending |

    Select-Object Title, Description -First 10

 

PSSystemTools - 운영체제 하드웨어,설정 정보등을 확인 할 수 있는 시스템 모듈입니다.


System Tools helps you get hardware and configuration information out of the operating system. Get information about USB devices, processors, boot status, fonts, and more. Check out this quick script to see the USB devices and their manufacturers.

Get-USB |

    Select Name, Manufacturer

 

PSUserTools - 사용자를 관리합니다.


User Tools helps you deal with process elevation and users. You can test to see if the current user is an administrator, start processes that prompt for administrative credentials, get the users on the system, and get detailed information about the current user.

PSCodeGen - Code를 생성합니다.


PSCodeGen is a module to help advanced scripters create code more quickly by automatically generating the code. In PSCodeGen there is New-Enum, which allows you to define a new enumerated type, New-PInvoke, which allows you to work with the C APIs more easily, and New-ScriptCmdlet, which can be used to create new PowerShell advanced functions with ease. Check out these examples of using New-ScriptCmdlet to make new script cmdlets. The first example creates the Start-ProcessAsAdministrator script cmdlet that is in the PSUserTools module

New-ScriptCmdlet -Name Start-ProcessAsAdministrator -FromCommand (Get-Command Start-Process) -RemoveParameter Verb -ProcessBlock { 

    $null = $psBoundParameters.Verb = "RunAs"

    Start-Process @psBoundParameters

}

New-ScriptCmdlet -Name -FromCommand (Get-Command Get-Process) -RemoveParameter Verb

 

 

TaskScheduler  - 예약 작업을 관리할 수 있습니다.


The TaskScheduler module helps you use the Task Scheduler APIs available on Windows Vista and above to schedule running programs or scripts on your system. You can check running tasks, start tasks on demand. You can also start tasks with an incredible variety of triggers, like single time, daily, weekly, monthly, event log, workstation lock and workstation unlock . Here are some simple examples:

New-task |

    Add-TaskTrigger -DayOfWeek Monday, Wednesday, Friday -WeeksInterval 2 -At "3:00 PM" |

    Add-TaskAction -Script {

        Get-Process | Out-GridView

        Start-Sleep -Seconds 100

    } |

    Register-ScheduledTask TestTask

 

New-task |

    Add-TaskTrigger -In (New-TimeSpan -Seconds 30) |

    Add-TaskAction -Script {

        Get-Process | Out-GridView

        Start-Sleep -Seconds 100

    } |

    Register-ScheduledTask TestTask

 

 

대충 대충 봐도 너무 많네요 .. 휴휴

 

오늘은 이만~

 

윈디안이였습니다.

 

출처 : http://code.msdn.microsoft.com/PowerShellPack

Posted by 알 수 없는 사용자
:
2010. 8. 25. 17:26

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

지난번 "PowerShell 을 통해 IIS 관리하기"(링크) 포스트를 통해 잠깐 다뤄봤던 WebAdministration 모듈을 통해
이번엔 FTP 사이트를 만들어 볼까 합니다.(Windows 2008 R2, IIS 7.5 환경 입니다.)

먼저, 파워쉘을 켜고 WebAdministration 모듈을 Import 합니다.



New-WebFtpSite cmdlet 으로 새 FTP 사이트를 만듭니다.


기본적으로 FTP SSL 설정이 무조건 SSL 연결이 필요하도록 되어 있는데, SSL 연결을 사용하지 않을 예정이므로, 변경 해 줍니다.


FTP 인증에 기본 인증(서버의 로컬 계정을 사용해서 로그인)을 사용하도록 설정 해 줍니다.


이제 FTP 에 접속 하게 할 사용자(로컬 계정)를 만들어 주고..(링크 참조)


이 사용자가 해당 FTP 사이트에 접속 권한을 가지도록 권한 부여 규칙을 설정 해 주면, FTP 사이트 만들기가 완료됩니다.


잘 접속 되는지 테스트는 아래와 같이 해 보면 됩니다.


음! 잘 되는군요. ^^

WebConfiguration 관련 cmdlet 을 사용 할 때 가장 어렵게 느껴지는 부분은 
'-Filter' 파라미터로 설정 항목의 경로를 지정 해 주는 부분인것 같습니다.

설정항목의 경로는 applicationHost.config 파일의 내용을 참고로 찾아냅니다.
applicationHost.config 파일은 IIS 의 모든 설정이 정의되어 있는 파일이며,
XML 형식의 파일이라 XML 및 XPath 에 대해 어느정도는 알고 있어야 내용을 파악 및 원하는 경로를 정확히 뽑아 낼 수 있습니다.

아래 명령어로 applicationHost.config 파일을 바로 열어 볼 수 있습니다.


오늘은 여기까지 입니다. 제가 정리한 내용이 보시는 분들께 도움이 되기를 바랍니다.

<참고 URL>
http://www.yusufozturk.info/windows-server/setting-ftp-server-authorization-with-powershell-on-iis7-5.html

Posted by 알 수 없는 사용자
:
2010. 8. 25. 14:35

Exchange Server 2010 설치

Exchange Server 2010의 설치저 요구 사항의 설치가 완료 되면 아래와 같은 순서로 Exchange서버의 설치 작업을 진행 합니다.

자세한 내용은 MS에서 제공하는 technet 및 파트너 팀의 블로그 참고

MS technet : http://technet.microsoft.com/ko-kr/library/bb124778.aspx

파트너 블로그팀 : http://blogs.technet.com/b/koreapartner/archive/2009/10/28/exchange-server-2010-installation-guide.aspx

 

a.     Exchange 언어 옵션을 통하여 언어 설치 선택 후 Microsoft Exchange 설치 클릭 (DVD에서 지원하는 언어 외 추가적인 언어지원이 필요한 경우 언어 번들에서 모든 언어 설치를 선택)

 

b.     소개 내용을 확인 후 다음 클릭


c.     해당 내용 확인 후 동의함 체크 다음 클릭


d.     오류 보고 내용 확인 후 다음 클릭

e.     표준설치 또는 사용자 지정 (각각의 서버 역할을 분리) 설치 경로 지정 후 다음 클릭

f.      사용자 지정의 경우 아래와 같이 각각의 열할을 선택 후 다음 클릭


g.     사용할 조직 이름을 입력 후 다음 클릭


h.     클라이언트 설정에 대한 내용 확인 후 다음 클릭(조직내에 아웃룩2003사용자가 있는경우 예를 체크 없는 경우 아니요 체크)


i.      클라이언트 엑세스 서버에 외부에서 접속할 도메인 입력 후 다음 클릭

j.      사용자 환경 개선 프로그램 내용 확인 후 설문에 참가 유무 선택 후 다음 클릭

k.     설치전 요구 사항에 대한 준비검사 화면


l.      설치전 요구 사항에 대한 준비검사 완료 후 설치 클릭


m.    Exchage 각각의 역할 설치가 완료 되었으며 마침 클릭

여기까지 진행 하였다며 기본적인 Exchange Server 2010 설치는 완료 되었습니다.

Posted by 알 수 없는 사용자
:
2010. 8. 25. 13:26
안녕하세요. 엉스데브 입니다.

PowerShell 에서 zip 파일을 다루기 위한 함수를 몇개

Windows 2008 R2 서버에서 PowerShell 을 이용해 웹 사이트를 구축하는 중입니다.
헌데 소스 파일이 zip 으로 압축 되어 있어서 PowerShell 에서 zip 압축을 풀 수 있는 도구가 필요 했습니다.
구글링을 해 보니, 바로 사용할 수 있는 zip 파일 처리 함수를 몇 개 찾을 수 있었습니다. 아래에 정리 합니다.

1. zip 파일 압축 풀기.
function Extract-Zip
{
  param([string]$zipfilename, [string] $destination)

  if(test-path($zipfilename))
  { 
    $shellApplication = new-object -com shell.application
    $zipPackage = $shellApplication.NameSpace($zipfilename)
    $destinationFolder = $shellApplication.NameSpace($destination)
    $destinationFolder.CopyHere($zipPackage.Items())
  }
}
@ 사용법 : Extract-Zip C:\test\zipfile.zip c:\test\destination

2. zip 압축파일 새로 만들기.
function New-Zip
{
  param([string]$zipfilename)
  set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
  (dir $zipfilename).IsReadOnly = $false
}

3. 이미 존재하는 zip 압축 파일에 파일 추가하기.(파이프 라인 이용)
function Add-Zip
{
  param([string]$zipfilename)
 
  if(-not (test-path($zipfilename)))
  {
    set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
    (dir $zipfilename).IsReadOnly = $false 
  }
 
  $shellApplication = new-object -com shell.application
  $zipPackage = $shellApplication.NameSpace($zipfilename)
 
  foreach($file in $input)
  {
            $zipPackage.CopyHere($file.FullName)
            Start-sleep -milliseconds 500
  }
}

4. zip 파일 내부 파일 목록 확인.
function Get-Zip
{
  param([string]$zipfilename)
  if(test-path($zipfilename))
  {
    $shellApplication = new-object -com shell.application
    $zipPackage = $shellApplication.NameSpace($zipfilename)
    $zipPackage.Items() | Select Path
  }
}

잘 작동하고, 유용하게 사용하고 있습니다. 다만, 경로를 지정 할 때 상대 경로로 지정 할 경우 오류가 발생 하더군요..
전 사용하다 보니 이 부분이 좀 불편해서 아래와 같이 고쳐서 사용하고 있습니다.

# 압축 풀기.
function Extract-Zip
{
  param([string]$zipfilename, [string] $destination=".") #목적지 기본값은 현재 디렉토리

  #상대경로를 절대경로로 변경
  $zipfilename = (Get-Item $zipfilename).FullName
  $destination = (Get-Item $destination).FullName


  if(test-path($zipfilename))
  { 
    $shellApplication = new-object -com shell.application
    $zipPackage = $shellApplication.NameSpace($zipfilename)
    $destinationFolder = $shellApplication.NameSpace($destination)
    $destinationFolder.CopyHere($zipPackage.Items())
  }
}

# 압축 하기
function Add-Zip
{
  param([string]$zipfilename)

  # 파일 명만 지정 했을 때 상대경로로 지정 해 줌.
  if(!$zipfilename.Contains("\"))
  {
    $zipfilename = ".\" + $zipfilename
  }


  if(-not (test-path($zipfilename)))
  {
    set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
    (dir $zipfilename).IsReadOnly = $false 
  }

  #상대경로를 절대경로로 변경
  $zipfilename = (Get-Item $zipfilename).FullName

 
  $shellApplication = new-object -com shell.application
  $zipPackage = $shellApplication.NameSpace($zipfilename)
 
  foreach($file in $input)
  {
            $zipPackage.CopyHere($file.FullName)
            Start-sleep -milliseconds 500
  }
}

profile 파일에 이 함수를 넣어두고 요렇게 사용하면 됩니다.




<참고 URL>
http://blogs.msdn.com/b/daiken/archive/2007/02/12/compress-files-with-windows-powershell-then-package-a-windows-vista-sidebar-gadget.aspx
Posted by 알 수 없는 사용자
:
2010. 8. 24. 18:10

Exchange Server 2010 설치전 요구사항 설치

Exchange Server 2010을 설치하기 위해서는 windows2008 64-bit 이상의 OS가 필요하며 AD 및 아래와 같은 설치전 요구사항이 필요 하여 Windows2008 과 Windows2008R2 각각에 버전에 맞게 설치가 이루어 저야 합니다.

1.   Windows2008 SP2

a.     Microsoft .NET Framework 3.5 SP1(서비스 팩 1)을 설치합니다.

b.     Windows Vista x64 Microsoft .NET Framework 3.5 제품군 업데이트 및 Windows Server 2008 x64 업데이트를 설치합니다.

c.     WinRM(Windows Remote Management) 2.0 Windows PowerShell V2(Windows6.0-KB968930.msu)를 설치합니다.

d.     허브 전송 또는 사서함 서버 역할을 호스팅할 서버에 Microsoft Filter Pack을 설치합니다.

e.     CMD 창을 열고 Exchange 2010 설치 미디어의 Scripts 폴더로 이동 후  (ex D\scripts) 설치할 각 역할의 설치가 될 항목에 맞게 각각의 scripts를 실행 합니다.

설치전 요구사항

a.     클라이언트 엑세스, 허브 전송 및 사서함 역할의 표준 설치시

sc config NetTcpPortSharing start= auto  //  NetTcpPortSharing 서비스의 자동시작

ServerManagerCmd -ip Exchange-Typical.xml –Restart

b.     각각의 역할만 설치시 아래 스크립트를 실행

ServerManagerCmd -ip Exchange-Cas.xml –Restart

ServerManagerCmd -ip Exchange-Hub.xml –Restart

ServerManagerCmd -ip Exchange-Mbx.xml –Restart

ServerManagerCmd -ip Exchange-Um.xml –Restart

ServerManagerCmd -ip Exchange-Edge.xml –Restart

 

좀더 자세한 내용은 아래 주소의 Windows Server 2008 SP2 운영 체제 필수 구성 요소 설치

http://technet.microsoft.com/ko-kr/library/bb691354.aspx#WS08R2

요구사항의 설치가 완료 되면 Windows Update 진행

2.   Windows2008R2

Windows2008R2의 경우 Windows2008 SP2 과는 다른 방법으로 설치전 요구사항을 완료 합니다.

설치전 요구사항

a.     Windows PowerShell 콘솔을 열고 다음 명령을 실행합니다.

Import-Module ServerManager

b.     클라이언트 엑세스, 허브 전송 및 사서함 역할의 표준 설치시

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Desktop-Experience -Restart
powershell
실행 후 Set-Service NetTcpPortSharing -StartupType Automatic

 

 

좀더 자세한 내용은 아래 주소의 Windows Server 2008 R2 운영 체제 필수 구성 요소 설치 확인

http://technet.microsoft.com/ko-kr/library/bb691354.aspx#WS08R2

요구사항의 설치가 완료 되면 Windows Update 진행

Filter Pack 설치

http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=60c92a37-719c-4077-b5c6-cac34f4227cc

Active Directory
준비 작업

d\./setup /PrepareLegacyExchangePermission

d\./setup /PrepareSchema

d\./setup /PrepareAd

d\./setup /PrepareDomain

각 준비 작업에 대한 설명은 아래 주소를 참고 합니다.

http://technet.microsoft.com/ko-kr/library/bb125224.aspx

위 작업을 수행하지 않아도 Exchange Server 2010 설치 과정 중 진행 됩니다.


이상으로 Exchange Server 2010 의 설치전 요구 사항에 대하여 알아 보았습니다.

Posted by 알 수 없는 사용자
:
2010. 8. 24. 18:07


AD (Active Directory) 설치

Exchnge Server 2010을 설치하기 위한 설치전 요구사항에 대하여 알아 보도록 하겠으며 그 첫번째로 AD (Active Directory) 설치에 대하여 알아도록 하겠습니다.

AD설치는 Windows2008R2 를 기준으로 설치 하였으며 각각의 기능 수준 또한 Windows2008R2 로 설치 하였습니다.

a. AD 설치를 진행 할 windows 서버에서 시작 >> 실행 >> dcpromo 를 실행 합니다.
 

b. 다음 버튼을 클릭


c. 다음 버튼을 클릭

d. 새 포리스트에 새 도메인 만들기 체크 후 다음 클릭
1. 새 포리스트에 새 도메인 만들기 : 새로 도메인컨트롤러(DC)를 설치할 경우
2. 기존 포리스트 : 기존 도메인 컨트롤러의 복제 컨트롤러를 설치 할 경우
 

e. 새 포리스트에 사용할 정규화된 도메인 이름 입력 후 다음 클릭
 

f. AD에서 사용 할 포리스트 기능 수준 설정 (상위 버전 일수록 많은 기능을 제공하며 낮은 버전으로 설치 후 추후 기능 수준 향상도 가능)
 

g. 도메인 기능 수준 설정 다음 클릭
 

h. AD설치시 필요한 DNS 서버 설치 체크 후 다음 클릭
 

i. 예 버튼 클릭
 

j. AD가 설치될 경로 선택 디폴트 값 또는 별도의 저장 경로 지정 후 다음 클릭

 

k. 디렉터리 서비스 복원시 사용되는 Administrator 계정 패스워드 입력 후 다음 클릭
 

l. 다음 버튼 클릭
 

m. AD설치 완료 화면이 나올 때 까지 기다립니다
 

n. AD설치가 완료 되었으며 마침 버튼을 클릭 재부팅 합니다
 



이상으로 Exchange Server 2010구성에 필요한 AD (Active Directory) 설치에 대하여 알아보았습니다.

Posted by 알 수 없는 사용자
:
2010. 8. 24. 15:03
안녕하세요. 엉스데브 입니다.

이번에 새로 WIndows 2008 R2 서버를 하나 설치 했습니다. 웹 사이트를 하나 운영 하려구요.
제가 요새 PowerShell 을 공부하는 중이라서 이번 웹서버 구축은 PowerShell 을 통해서 모든 것을 진행 해 보려고 합니다.

먼저 PowerShell 을 켜 볼까요?
Windows 2008 R2 서버는 관리자로 로그인시 작업표시줄에 PowerShell 아이콘이 기본적으로 있으며,
Windows 7 과는 다르게 아이콘을 오른쪽 클릭하고 "관리자 권한으로 실행" 메뉴를 클릭해서 실행 하지 않아도
자동으로 관리자 권한으로 실행 됩니다. 아무래도 서버 제품이다 보니 작업의 특성을 잘 살린 배려인것 같습니다. 편하네요~



Windows 2008 R2 는 기본적으로 "ServerManager" 라는 모듈을 제공합니다.
이 모듈은 역할, 역할 서비스 및 기능 등을 추가/삭제 할 수 있는 기능을 제공하며, 이를 통해 IIS 를 설치 할 수 있습니다.

어디 정말 "ServerManager" 모듈이 존재하는지 확인 해 볼까요?


네. 역시 존재하네요.

그럼 모듈을 한번 불러들여 보겠습니다. 모듈에서 어떤 cmdlet 을 제공하는지도 확인 해 볼까요?


이야.. 심플합니다. cmdlet 3개가 추가 된 커맨드의 전부네요.
게다가 모두 WindowsFeature 에 대한 내용들이고, Add / Get / Remove 등 직관적으로 무엇을 할 수 있는지가 파악 됩니다.
네.. WindowsFeature 들을 추가하고 목록을 가져오고 삭제도 할 수 있겠네요.

더 정확한 내용을 보려면 Get-Help 명령을 이용하면 됩니다. 도움말이 한글화 되어 있어 상당히 편하네요.


일단 어떤 WindowsFeature 들이 있는지 한번 살펴보겠습니다.


엄청 많이 표시 됩니다. 하부 항목들은 트리구조를 흉내내어 들여쓰기 되어 표시되는군요.
아마도 GUI 로 된 서버 관리자에서 관리 할 수 있는 모든 역할, 역할서비스 및 기능 들을 다 표시 해 주는 것 같습니다.
오른 쪽에는 해당 WindowsFeature 의 정식 이름이 표시 되네요.

너무 많으므로, 웹서버(IIS) 와 관련 된 항목만을 추려서 다시 봐야 겠습니다.
모든 웹서버(IIS) 관련 항목은 이름이 "Web-" 로 시작 합니다. 아래와 같이 입력하면 관련 내용만 표시 됩니다.


웹서버(IIS) 가 보입니다. 이 Feature 의 정확한 이름은 Web-Server 네요.

일단 무조건 설치 해 봤습니다. 약간의 시간이 지나 결과가 표시 되네요.


성공 여부, 재시작이 필요한지 여부, 종료 코드, 그리고 설치 된 항목의 리스트가 표시 되네요.
웹서버(IIS)에 포함된 모든 항목이 설치되는 것은 아니고, 꼭 필요한 필수 Feature 들만 골라서 설치 되네요.
(어떤게 설치 되었는지는 다시한번 Get-WindowsFeature -Name "Web-*" 명령어를 날려서 확인 해 보면 됩니다)

테스트로 설치 해 본 것인만큼 일단 지워 보겠습니다.


아, 지워지긴 했는데 재부팅을 해야지만 정상적으로 제거가 된다고 하는군요. 재시작 해 줍니다.


재부팅이 완료 되었습니다. 이제 실제 서비스에 사용할 웹서버를 다시 설치 해 볼겁니다.
전 서버 용량도 충분하고 혹시나 나중에 기능을 추가할 경우에 번거로운 일들이 생길까봐, 전체 기능을 다 설치 하기로 했습니다.
아래와 같이 입력하면 됩니다.


자, 그럼 잘 설치 되어 있는지 확인 해 볼까요??


모두 잘 설치가 되었습니다!(X 표시가 설치가 되었다는 표시입니다.)

PowerShell 로 IIS 설치하기 참 쉬운 것 같습니다. ^^


<참고 URL>
http://blogs.msdn.com/b/powershell/archive/2009/01/27/managing-server-features-with-powershell-cmdlets-on-windows-2008-server-r2-beta.aspx
Posted by 알 수 없는 사용자
:
2010. 8. 24. 13:16

SCCM 2007 설치 시작!

드디어 SCCM(System Center Configuration Manager) 2007 설치를 시작 합니다.

이전 포스팅에 따라 사전에 필요한 작업이 모두 완료 되었다는 가정하에 설치를 진행 하게 됩니다. 따라서 사전 작업을 하지 않았다면 사전에 필요한 내용을 확인 후 설치 하여야 합니다. 그렇지 않으면 낭패를 봅니다. 

자세한 내용은 이전 포스팅 참고 하시면 됩니다.


SCCM 설치 전 작업 1 (AD 스키마 확장/컨테이너 권한 부여)
SCCM 설치 전 작업 2 (WSUS / IIS 역할 추가)
SCCM 설치 전 작업 3 (BITS)
SCCM 설치 전 작업 4 (WebDAV)
SCCM 설치 전 작업 5 (Framework 3.5.1/SQL/원격차등압축)

Primary Site Server
 역할을 위하여 추가로 설치 되어야 할 것들이 많이 있습니다.

- 
Internet Explorer 5 이상
- .NET Framework 2.0
- Internet Information Service (IIS) 6.0 이상
- Background Intelligent Transfer Service (BITS)
- Web-based Distributed Authoring (WebDAV)
- MMC 3.0
이외에 인프라 측면에서 보면 다음 두가지의 필수 요구 사항이 있어야 합니다.
- Microsoft SQL Server 2005 (Std. 또는 Ent.) SP2 이상의 Database (SQL SCCM 이 설치되는 서버에 함께 설치되어 있어도 됩니다.)
- Active Directory


설치에는 간단하게 30개 정도의 Step이 나타납니다. 그 중에는 상황에 따라 이 포스팅의 내용과는 다르게 진행될 수도 있습니다만 한 부분만 빼고는 크게 다르지 않습니다. 크게 다른 한 부분은 진행될때 따로 설명 합니다.

SCCM 2007 설치 미디어를 넣고 설치를 시작 합니다. Install 클릭.


다음 클릭

Install a Configuration Manager site server 체크 하고 다음 클릭

라이선스 동의 후 다음 클릭

Custom settings 체크 하고 다음 클릭

Primary site 체크 하고 다음 클릭

CEIP(사용자 환경 개선 프로그램) 항목은 가능 하면 Yes를 선택합니다. No를 선택 해도 사용에는 지장은 없습니다.

제품 키 입력.

SCCM 2007 설치 경로를 입력 하고 다음 클릭

Site Code Site name의 경우 “The site code and site name cannot be changed after installation” 이라고 되어 있습니다. “개봉 후 환불 불가 만큼의 강력한 저 코멘트 때문에 잠시 머뭇 거리게 되지만 까짓꺼 잘못되어 봤자 재설치 하면 된다는 심정으로 나중에 대충 설명 하겠지만 Native  mode 설치를 할 경우 인증서 부분에 대한 설정이 여러 번 나오게 되는데 Site code의 경우 인증서 발급할 때 문서 서명 인증서 요청에 사용한 코드를 입력해야 합니다. 

이제 큰 결정을 내려야 할 순간 입니다. Native mode Mixed mode의 갈림길에 서 있는데요. Native Mode PKI 인프라가 필요 합니다. 당연히 Mixed Mode에 비해서 더 향상된 보안이 제공되며 인터넷 기반의 클라이언트 관리가 가능 합니다. 대신 인증서에 대해서 잘 알고 있어야 하며 관련 인증서 기반의 설치 과정에 대한 이해도 필요 합니다. 단순한 사내망에서만 필요하기 때문에 Mixed Mode로 진행 하겠지만 굳이 Native mode가 필요한 분은 IT Neophyte 블로그 (http://dimi.tistory.com/search/sccm) 참고 하시면 됩니다. 이 포스팅에서는 Configuration Manager Mixed Mode로 설치를 진행 합니다.

클라이언트 에이전트 선택 항목중 필요한 항목을 선택 합니다. 항목중에 NAP(Network Access Protection)은 Windows server 2008 이상에서만 지원 됩니다.

SQL Server site database를 지정 하고 다음 클릭

SMS Provider를 지정하고 다음 클릭

Management point를 지정(FQDN) 하고 다음 클릭

포트 설정을 하고 다음 클릭. Native Mode로 설치할 경우 https 443포트를 설정 합니다만 여기서는 Mixed Mode 설치 이므로 80 포트로 진행 합니다.

업데이트 다운로드 여부 확인 입니다.

업데이트 파일들이 들어올(다운로드 될) 폴더를 정하고 다음 클릭

업데이트 파일들이 자동으로 다운로드 됩니다. 다운로드가 완료될 때까지 잠시 쉽니다.

잠시 쉬고 오면 다운로드가 모두 완료되어 있습니다.

설정 확인창 입니다. 수정할 부분이 있으면 돌아가서 수정을 할 수 있는 마지막 기회 입니다.

사전 설치 확인 작업이 한번 더 진행 됩니다.

모든 조건의 테스트가 성공되었다면 이제 본격적인 SCCM 2007 설치가 진행 됩니다.

Action 하나 하나 설치가 진행 됩니다. 시간이 걸리기 때문에 커피 한잔 마시고 와도 됩니다.

커피 한잔 마시고 오면 모든 Action들이 Completed로 변경 되어 있을 겁니다.

이제서야 SCCM 2007 SP2의 설치가 모두 완료 되었습니다.

그동안 8개의 포스팅을 통해서 SCCM 2007 설치에 필요한 워밍업이 있었고 이번 포스팅에서 설치가 완료된 것입니다.

뭐가 이렇게 복잡 하고 말이 많아!” 라고 생각 하시는 분께는 꺼져!” 가 아니라 “Microsoft 제품의 특성중 하나는 다른 제품에서 지원 하는 기능은 중복 하지 않기 때문에주절 주절…” 설명 하자니 좀 기네요. 뭐 아무튼 System Center 계열의 제품중에 사전에 준비할 것이 많은 것이 SCCM 입니다. SCCM의 특성상 어쩔 수 없습니다. 이것이 마음에 들지 않는다면 비슷한 기능을 하는 다른 제품을 선택 해야 합니다.

이제 설치가 끝났으니 본격적으로 SCCM의 기능을 이용해서 뭔가 해볼까? 라고 생각 하시는 분이 계신다면 다른 설정 작업을 더 해야 하기 때문에 잠시 기다려 주세요. 라고 말해야 겠네요. 겨우 SCCM 설치만 했을 뿐입니다. 아직도 가야 할 길은 험난 합니다.

다음 포스팅 에서는 관리를 위한 설정 작업을 진행 하겠습니다. 

후훗….이제 와서 포기하려니 걸어온 길이 제법 길군요.

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


Posted by 알 수 없는 사용자
:
2010. 8. 20. 17:43

간혹 테이블이 어떠한 원인인지는 정확하게 모르겠으나 테이블 lock이 걸리는 경우가 있다.
lock이 걸릴경우 해당 테이블을 사용하지 못하기 때문에 rock을 삭제해주어야 한다.

EXEC sp_lock
프로시저 실행하여 mode가 x인 것 확인

dbcc inputbuffer(spid)
mode가 x인 것의 spid를 입력하면 해당 테이블정보가 출력

kill spid
문제가 되는 spid를 kill 한다.

해당 spid를 kill해주면 락이 해제 되게 된다.

'SQL' 카테고리의 다른 글

MS-SQL 테이블 소유자 변경 및 사용자 매핑 쿼리  (1) 2010.08.20
MS-SQL hostname 변경 쿼리문  (0) 2010.08.20
Posted by 알 수 없는 사용자
:
2010. 8. 20. 17:40

다른곳에서 사용하던 DB를 복원하였을 경우 백업 파일안에 해당 DB의 사용자 및 소유자의 이전정보가 지정이 되어있기 때문에 이전된서버에 알맞게 소유자 변경 및 사용자 매핑 쿼리문이다.

테이블 소유자 변경
select 'EXEC sp_changeobjectowner ''이전사용자.' + name + ''', ''변경할사용자''' from sysobjects where xtype = 'U'

U=테이블
V=뷰
P=프로시져

DB복원시 사용자 매핑은 복원 처리 후 gui환경으로 사용자 매핑을 하면 에러가 발생한다.
아래 쿼리문을 실행해야 해당 db의 사용자가 정상적으로 매핑이 된다.

DB복원시 사용자 매핑
EXEC sp_change_users_login 'Update_One', '[유저명]', '[유저명]'


'SQL' 카테고리의 다른 글

MS-SQL 테이블 lock 처리 방법  (0) 2010.08.20
MS-SQL hostname 변경 쿼리문  (0) 2010.08.20
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 :