2010. 10. 5. 18:10

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

오늘은 Active Directory를 파워쉘에서 관리할 수 있는 모듈을 소개합니다.

모듈의 명칭은 ActiveDirectory 입니다. 이름이 쉽네요

이 모듈을 사용하기 위해서는 아래와 같은 조건이 필요합니다.

 Windows Server 2008 R2 server에 AD DS 또는 AD LDS 서버 롤 설치
 Windows Server 2008 R2 server에 Dcpromo.exe를 통해 도메인 컨트롤러로 사용하는 경우
 Windows Server 2008 R2 Server에 Remote Server Administration Tools (RSAT)을 설치한 경우
 Windows 7에 RSAT(원격 서버 관리 도구)를 설치한 경우

결론은 Windows7과 Windows 2008 R2 만 사용할 수 있습니다.
(Windows 7 원격 서버 관리 도구는 Windows 7의 Enterprise, Professional 또는 Ultimate Edition을 실행 중인 컴퓨터에만 설치할 수 있습니다. 또한 Windows Server 2008  R2의 경우 Windows Server 2008 R2 for Itanium-Based Systems ,
Windows Web Server 2008 R2 에서는 사용 할 수 없습니다.)

* Active Directory 모듈은 아래 기능들을 기본으로 설치합니다.

Windows PowerShell
Microsoft .NET Framework 3.5.1


* 사용 하기

시작 -> 관리도구 -> Active Directory PowerShell을 통해서 파워쉘을 실행하거나
수동으로 모듈을 구동하여 사용할 수 있습니다.

Import-Module ActiveDirectory

ActiveDirectory 모듈을 통해서는 다음과 같은 작업을 할 수 있습니다.
많은 기능이 있어 링크로만 소개합니다.


* 이 모듈을 통해서 ActiveDirectory 관리를 위해서는 사용자가 적절한 그룹에 속해있어야 합니다. EX> Domain Admins,Schema Admins,Enterprise Admins

AD관리시 유용한 모듈입니다.

이상 윈디안입니다~

출처 : 마이크로 소프트 테크넷
         http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx

'Powershell > 윈디안' 카테고리의 다른 글

PowerShell을 통한 IIS 관리  (0) 2010.10.26
iPowerShell???  (0) 2010.09.15
파워쉘상에서 키보드 입력 받기  (0) 2010.09.08
About PowerShell Pack !!!  (7) 2010.08.25
PowerShell 히스토리 내보내기 & 가져오기  (0) 2010.08.11
Posted by 알 수 없는 사용자
:
2010. 10. 5. 17:59

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

이번에는 원격 서버에 파워쉘로 연결하는 방법에 대해 알아보았습니다.

Windows 2008 R2, Windows 7 부터는 기본적으로 PowerShell 원격 작업이 가능하도록 되어있습니다.
다만, 원격 연결을 설정하고 실행 하려면 원격 컴퓨터의 관리자(Administrators) 그룹의 권한이 필요하며,
로컬 서버에서 원격 서버에 연결 혹은 명령어를 실행 할 때 항상 이 권한을 가진 자격증명을 제공해 주어야 합니다.

1. 원격 서버 설정하기.
먼저 원격 기능을 사용할 수 있도록 원격 서버 설정을 변경 해 주어야 합니다.
PowerShell 2.0 부터는 이 설정 변경 작업을 간편하게 할 수 있는 cmdlet 을 기본 제공 합니다.

원격 서버에서 아래의 명령어를 실행하면 됩니다.

Enable-PSRemoting


명령을 실행하면 처리하는 작업에 대한 승인여부를 물어보는데,
아무것도 묻지않고 자동으로 처리 하도록 하려면 -Force 파라미터를 추가 해 주면 됩니다.




이 명령어를 실행하면, 자동으로 여러 설정을 변경해서, 원격 연결을 받아들일 수 있는 상태로 설정 해 줍니다.
자세한 내용은 MSDN 도움말(링크)을 확인 해 보시기 바랍니다.

기본적으로 모든 IP 에서 원격 연결을 허용하게끔 설정 되는데, 해당 서버의 Administrators 그룹 권한을 가진 계정정보를 모르면 원격 연결이 불가능 하기 때문에 보안적인 문제는 크게 걱정하지 않아도 됩니다.

만약, 제한 된 IP 에서만 원격 연결이 허용 되도록 하고싶다면, 직접 방화벽 설정을 통해 조절할 수 있습니다.
PowerShell 은 WinRM 프로토콜(TCP/5985, TCP/5986)을 사용해 통신하므로, 해당 포트의 접속 가능 여부를 조작 하시면 됩니다.

2. 로컬 서버의 "신뢰할 수 있는 호스트 목록" 에 원격 서버 추가하기.
원격 서버에 접속 하려면, 로컬 서버의 "신뢰할 수 있는 호스트 목록" 에 원격 서버를 등록 해야 합니다.
로컬 서버의 "신뢰할 수 있는 호스트 목록" 을 설정하려면, 아래의 명령어를 사용하면 됩니다.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "원격서버IP 혹은 호스트네임"

이 명령어를 사용하면 WinRM 보안구성 변경 확인 여부를 물어보는데,
아무것도 묻지않고 자동으로 처리 하도록 하려면 -Force 파라미터를 추가 해 주면 됩니다.




만약 여러개의 원격 서버를 지정 하고 싶다면 각 항목을 콤마(,) 로 구분하면 됩니다.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "원격서버1, 원격서버2"




만약 새로 설정하는 것이 아니라, 기존 설정에 추가하고 싶다면 아래와 같이 하면 됩니다.

$TrustedHostsOld = (Get-Item WSMan:\localhost\Client\TrustedHosts).Value
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "$TrustedHostsOld, 원격서버IP 혹은 호스트네임"




3. 원격 서버 접속용 자격증명(Credential) 만들기.
이제 원격 서버에 접속 할 수 있는 환경 구축은 마무리 되었고, 원격 서버에 접속 할 계정에 대한 자격 증명을 만들 차례 입니다.

자격증명은 간단히 아이디/패스워드 정보 라고 이해하시면 쉽습니다.
터미널에 접속 할 때 아이디/패스워드 를 입력 하는것 처럼, PowerShell 원격 접속 시에 사용할 아이디/패스워드 정보를 특정 형식으로 저장 한 것입니다.

PowerShell에서는 이 자격증명을 변수에 넣어두어 -Credential 파라미터에 지정 해 주는 방식으로 사용 할 수 있습니다.

자격증명은 아래와 같이 만들 수 있습니다.

(방법1)
간단하게 만들 수 있는 방법입니다.
하지만, 사용자가 패스워드를 직접 입력 해 주어야 하기 때문에, 스크립트 작성 등 자동 화가 필요한 작업에는 사용하기 어렵습니다.

아래의 명령을 입력하면, 패스워드를 입력받기 위한 팝업창에 표시 됩니다.
팝업되는 창에 패스워드를 입력 해 주면, 자격증명이 만들어져 $MyCredential 변수에 저장 됩니다.

$MyCredential = Get-Credential "아이디"




(방법2)
자동화가 필요할 때 사용할 수 있는 방법입니다.
사용자에게 직접 입력을 요구하지 않고, 미리 입력 해 둔 정보를 활용해서 자격증명을 만들 수 있습니다.

먼저, 아래 명령을 사용해서, 패스워드를 변수에 저장 합니다.
아래 명령어를 실행하고 패스워드를 입력 해 주면, 입력된 패스워드를 암호화 하여
아래 스크린샷과 같이 확인 할 수 없는 상태의 문자열로 변환되어 변수에 저장 됩니다.

$MyPassword = Read-Host "Password" -AsSecureString | ConvertFrom-SecureString




자동화가 필요할 경우, 이 변수에 저장 된 문자열을 별도로 저장해 두고 추후 자격 증명을 만들때 사용하면 됩니다.

이 문자열을 사용해 자격증명을 만들려면, 아래와 같이 실행하면 됩니다.

$MyPassword = $MyPassword | ConvertTo-SecureString
$ObjectTypeName = "System.Management.Automation.PSCredential"
$MyCredential = New-Object -TypeName $ObjectTypeName -ArgumentList "아이디",$MyPassword



4. 원격 작업 하기
이제 모든 준비가 완료 되었습니다. 원격 작업을 해 봅시다.
먼저, 원격 서버에 PowerShell 로 접속 하고 싶다면, 아래의 명령을 사용하면 됩니다.

Enter-PSSession -ComputerName "원격서버IP 혹은 호스트네임" -Credential $MyCredential



만약, 원격 서버에 접속하는 것이 아니라, 원격서버에서 특정 명령어만 실행하고 싶다면, 아래와 같이 하면 됩니다.

Invoke-Command -ComputerName "원격서버IP 혹은 호스트네임" -Credential $MyCredential -Command {"실행 할 명령어"}





원격 설정이 그다지 복잡하지 않네요. 여러대의 서버가 있을 경우, 유용하게 사용 할 수 있을 것 같습니다 ^^
오늘은 여기까지 입니다. 제가 포스팅 한 내용이 도움이 되셨기를 바랍니다.

감사합니다.

Posted by 알 수 없는 사용자
:
2010. 10. 5. 06:00

닷넷에서는 포인터나 핸들을 나타내는데 사용하는 IntPtr  이라는 구조체가 있습니다.
(자세한 내용은 http://msdn.microsoft.com/ko-kr/library/system.intptr(VS.80).aspx)
32bit 운영체제 상에서 포인터는 4byte, 64bit에서는 8byte이므로
아래의 간단한 메소드를 이용하여 운영체제의 플랫폼을 확인할 수 있습니다.

if ([IntPtr]::Size -eq 8)
{
    "This is 64Bit PlatForm"
}
else
{
    "This is 32Bit PlatForm"
}


원본: http://vstarmanv.tistory.com/entry/플랫폼-구분6432bit

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 :