본문 바로가기

Windows/2008 & 2008 R2

Import-CSV

[개요]

Active Directory에 한번에 많은 사용자를 만드는 방법은 여러가지가 있습니다. DSADD, CSVDE등이 있습니다. 그러나 이러한 기존 방법은 사용자 생성시 암호를 같이 입력할 수 없었습니다. 파워쉘에서 Import-CSV를 이용하면 한번에 대량의 사용자의 암호를 동시에 설정할 수 있습니다.

   

[작업 방법]

대량의 사용자를 PowerShell로 등록하기 위해서 CSV 파일(엑셀 파일로 만든 후 CSV로 저장)에 아래와 같은 순서로 사용자 정보를 입력합니다.

꼭 아래의 화면과 같을 필요는 없으나 "Name" 필드는 필수입니다. 필요한 필드를 채웁니다. 여기서는 프로필 경로와 스크립트 경로는 입력하지 않었습니다.

   

   

   

   

입력한 CSV파일은 Notepad에서 열어서 UTF-8로 꼭 저장합니다.

   

   

아래 코드를 복사해서 파워쉘에서 입력합니다. 주의할 사항은 CSV에서 입력한 필드와 아래의 코드의 순서를 맞추어야합니다. CSV 파일에 필드명은 있으나 값이 없는경우

해당 코드는 입력하지 않어도 무방합니다. 아래 코드에서 프로필 경로와 스크립트 경로는 입력하지 않었습니다.

   

c:\users.csv는 CSV 파일의 경로를 지정합니다.

   

Import-CSV c:\users.csv | foreach {new-aduser -Name $_.name -Path $_.Path -samaccount $_.SamaccountName -userPrincipalName $_.userPrincipalName -Surname $_.Surname -GivenName $_.givenName -DisplayName $_.DisplayName -description $_.description -Office $_.Office -OfficePhone $_.OfficePhone -EmailAddress $_.EmailAddress -HomePage $_.Homepage -City $_.City -State $_.State -StreetAddress $_.StreetAddress -POBox $_.POBox -PostalCode $_.PostalCode -homePhone $_.homePhone -mobilePhone $_.mobilePhone -title $_.title -Department $_.Department -company $_.company -AccountPassword (ConvertTo-SecureString -AsPlainText "!234qwer" -Force) -Enabled $true -ChangePasswordAtLogon 1}

   

파워쉘이 성공적으로 실행되면 아래 화면과 같이 사용자 계정이 만들어진것을 확인합니다.

   

CSV에서 입력한 값들이 정상적으로 입력되었습니다.

   

아래 화면은 CSV에서 입력하지 않은 국가/지역 값을 전체 사용자를 선택하여 한번에 입력되도록 하는 방법입니다.

   

[Tip]

-AccountPassword (ConvertTo-SecureString -AsPlainText "!234qwer" -Force) -Enabled $true -ChangePasswordAtLogon 1}는 CSV 파일에 값이 입력되지 않습니다.

-AccountPassword (ConvertTo-SecureString -AsPlainText "!234qwer" -Force)는 모든 사용자의 암호를 설정하는 부분이며 ""안에 값을 원하는 값으로 입력합니다.

-Enabled $true는 생성되는 모든 사용자를 활성화합니다.

-ChangePasswordAtLogon 1은 사용자가 처음 로그온할때 암호를 변경하도록 지정합니다.

   

   

[New-ADUser] 속성 값 및 사용예제

   

이름

New-ADUser

 

개요

새 Active Directory 사용자를 만듭니다.

 

구문

New-ADUser [-Name] <string> [-AccountExpirationDate <System.Nullable[System.DateTime]>] [-Accou

ntNotDelegated <System.Nullable[bool]>] [-AccountPassword <SecureString>] [-AllowReversiblePass

wordEncryption <System.Nullable[bool]>] [-AuthType {Negotiate | Basic}] [-CannotChangePassword

<System.Nullable[bool]>] [-Certificates <X509Certificate[]>] [-ChangePasswordAtLogon <System.Nu

llable[bool]>] [-City <string>] [-Company <string>] [-Country <string>] [-Credential <PSCredent

ial>] [-Department <string>] [-Description <string>] [-DisplayName <string>] [-Division <string

>] [-EmailAddress <string>] [-EmployeeID <string>] [-EmployeeNumber <string>] [-Enabled <System

.Nullable[bool]>] [-Fax <string>] [-GivenName <string>] [-HomeDirectory <string>] [-HomeDrive <

string>] [-HomePage <string>] [-HomePhone <string>] [-Initials <string>] [-Instance <ADUser>] [

-LogonWorkstations <string>] [-Manager <ADUser>] [-MobilePhone <string>] [-Office <string>] [-O

fficePhone <string>] [-Organization <string>] [-OtherAttributes <hashtable>] [-OtherName <strin

g>] [-PassThru <switch>] [-PasswordNeverExpires <System.Nullable[bool]>] [-PasswordNotRequired

<System.Nullable[bool]>] [-Path <string>] [-POBox <string>] [-PostalCode <string>] [-ProfilePat

h <string>] [-SamAccountName <string>] [-ScriptPath <string>] [-Server <string>] [-ServicePrinc

ipalNames <string[]>] [-SmartcardLogonRequired <System.Nullable[bool]>] [-State <string>] [-Str

eetAddress <string>] [-Surname <string>] [-Title <string>] [-TrustedForDelegation <System.Nulla

ble[bool]>] [-Type <string>] [-UserPrincipalName <string>] [-Confirm] [-WhatIf] [<CommonParamet

ers>]

 

 

설명

New-ADUser cmdlet은 새 Active Directory 사용자를 만듭니다. cmdlet 매개 변수를 사용하여 자주 사용되는 사용자 속성 값을 설정할 수 있습니

다.

 

cmdlet 매개 변수와 연결되지 않은 속성 값은 OtherAttributes 매개 변수를 사용하여 설정할 수 있습니다. 이 매개 변수를 사용하는 경우 다음 예와 같이

특성 이름을 작은따옴표로 묶어야 합니다.

 

New-ADUser -SamAccountName "glenjohn" -GivenName "Glen" -Surname "John" -DisplayName "Glen Joh

n" -Path 'CN=Users,DC=fabrikam,DC=local' -OtherAttributes @{'msDS-PhoneticDisplayName'="GlenJoh

n"}

 

사용자를 만들려면 SAMAccountName 매개 변수를 지정해야 합니다.

 

New-ADUser cmdlet을 사용하여 iNetOrgPerson 계정과 같은 다른 유형의 사용자 계정을 만들 수 있습니다. AD DS에서 이렇게 하려면 Type 매개

변수를 만들 계정 유형의 LDAP 표시 이름으로 설정합니다. 이 유형은 하위 클래스가 user이고 개체 범주가 person인 Active Directory 스키마의 클래스

일 수 있습니다.

 

Path 매개 변수는 새 사용자의 컨테이너 또는 OU(조직 구성 단위)를 지정합니다. Path 매개 변수를 지정하지 않는 경우 이 cmdlet은 도메인에 있는 사용자 개체

의 기본 컨테이너에 사용자를 만듭니다.

 

다음에서는 이 cmdlet을 사용하여 개체를 만드는 여러 가지 방법을 보여 줍니다.

 

방법 1: New-ADUser cmdlet을 사용하여 필수 매개 변수를 지정하고 cmdlet 매개 변수를 사용하여 추가 속성 값을 설정합니다.

 

방법 2: 템플릿을 사용하여 새 개체를 만듭니다. 이렇게 하려면 새 사용자 개체를 만들거나 기존 사용자 개체의 복사본을 검색하고 Instance 매개 변수를 이 개체로 설

정합니다. Instance 매개 변수에 제공되는 개체는 새 개체를 위한 템플릿으로 사용됩니다. cmdlet 매개 변수를 설정하여 템플릿의 속성 값을 재정의할 수 있습니다.

예 및 추가 정보를 보려면 이 cmdlet의 Instance 매개 변수 설명을 참조하십시오.

 

방법 3: Import-CSV cmdlet을 New-ADUser cmdlet과 함께 사용하여 여러 Active Directory 사용자 개체를 만듭니다. 이렇게 하려면 I

mport-CSV cmdlet을 사용하여 개체 속성 목록이 들어 있는 CSV(쉼표로 구분된 값) 파일에서 사용자 지정 개체를 만듭니다. 그런 다음 파이프라인을 통해 New

-ADUser cmdlet으로 이 개체를 전달하여 사용자 개체를 만듭니다.

 

   

매개 변수

-AccountExpirationDate <System.Nullable[System.DateTime]>

계정의 만료 날짜를 지정합니다. 이 매개 변수를 0으로 설정하면 계정이 만료되지 않습니다. 이 매개 변수는 계정 개체의 AccountExpirationDate 속성

을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 accountExpires입니다.

 

이 매개 변수를 지정할 때는 DateTime 구문을 사용합니다. 다르게 지정하지 않는 한 로컬 시간으로 간주됩니다. 시간 값을 지정하지 않은 경우 로컬 시간 오전

12시로 간주됩니다. 날짜를 지정하지 않은 경우 현재 날짜로 간주됩니다. 다음 예에서는 DateTime 개체를 지정하는 데 자주 사용되는 구문을 보여 줍니다.

"4/17/2006"

"Monday, April 17, 2006"

"2:22:45 PM"

"Monday, April 17, 2006 2:22:45 PM"

 

다음 예에서는 초가 포함되지 않은 동일한 날짜 및 시간을 지정합니다.

"4/17/2006 2:22 PM"

"Monday, April 17, 2006 2:22 PM"

"2:22 PM"

 

다음 예에서는 RFC1123 표준을 사용하여 날짜 및 시간을 지정하는 방법을 보여 줍니다. 다음 예에서는 GMT(그리니치 표준시)를 사용하여 시간을 정의합니다.

"Mon, 17 Apr 2006 21:22:48 GMT"

 

다음 예에서는 왕복 값을 UTC(협정 세계시)로 지정하는 방법을 보여 줍니다. 다음 예에서는 2006년 4월 17일, 월요일, 오후 2:22:48(UTC)을 표시합

니다.

"2006-04-17T14:22:48.0000000"

 

다음 예에서는 이 매개 변수를 2012년 5월 1일 오후 5시로 설정하는 방법을 보여 줍니다.

-AccountExpirationDate "05/01/2012 5:00:00 PM"

 

-AccountNotDelegated <System.Nullable[bool]>

사용자의 보안 컨텍스트가 서비스로 위임되는지 여부를 지정합니다. 이 매개 변수를 true로 설정하면 서비스 계정이 Kerberos 위임에 대해 신뢰할 수 있도록 설

정된 경우에도 계정의 보안 컨텍스트가 서비스로 위임되지 않습니다. 이 매개 변수는 Active Directory 계정의 AccountNotDelegated 속성을

설정합니다. 이 매개 변수는 Active Directory UAC(사용자 계정 컨트롤) 특성의 ADS_UF_NOT_DELEGATED 플래그도 설정합니다. 이 매개

변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

다음 예에서는 계정의 보안 컨텍스트가 서비스로 위임되지 않도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-AccountNotDelegated $true

 

-AccountPassword <SecureString>

계정의 새 암호 값을 지정합니다. 이 값은 암호화된 문자열로 저장됩니다.

 

암호 매개 변수가 사용되는 방식에 따라 다음과 같은 조건이 적용됩니다.

 

$null 암호가 지정됨 - 암호가 설정되지 않으며 계정을 사용하도록 설정하라는 요청이 없으면 계정이 사용하지 않도록 설정됩니다.

암호가 지정되지 않음 - 암호가 설정되지 않으며 계정을 사용하도록 설정하라는 요청이 없으면 계정이 사용하지 않도록 설정됩니다.

사용자 암호가 지정됨 - 암호가 설정되며 계정을 사용하도록 설정하라는 요청이 없으면 계정이 사용하지 않도록 설정됩니다.

참고:

기본적으로 사용자 계정은 암호 없이 만들어집니다. 사용자가 암호를 제공하는 경우 해당 암호를 설정하려고 하지만 암호 정책 제한 때문에 설정하지 못할 수 있습니다.

하지만 사용자 계정이 만들어지며 Set-ADAccountPassword를 사용하여 해당 계정에 암호를 설정할 수 있습니다. 계정을 안전하게 유지하기 위해 유효한 암

호가 설정되거나 PasswordNotRequired가 true로 설정되지 않으면 사용자 계정이 사용하도록 설정되지 않습니다.

암호가 실패하는 경우에도 계정이 만들어집니다.

 

다음 예에서는 이 매개 변수를 설정하는 한 가지 방법을 보여 줍니다. 이 명령을 실행하면 암호를 입력하라는 메시지가 표시됩니다.

-AccountPassword(Read-Host -AsSecureString "AccountPassword")

 

-AllowReversiblePasswordEncryption <System.Nullable[bool]>

계정에 대해 해독 가능한 암호 암호화가 허용되는지 여부를 지정합니다. 이 매개 변수는 계정의 AllowReversiblePasswordEncryption 속성을 설

정합니다. 이 매개 변수는 Active Directory UAC(사용자 계정 컨트롤) 특성의 ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED

플래그도 설정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

다음 예에서는 이 매개 변수를 true로 설정하는 방법을 보여 줍니다.

-AllowReversiblePasswordEncryption $true

 

-AuthType <ADAuthType>

사용할 인증 방법을 지정합니다. 이 매개 변수에 사용할 수 있는 값:

Negotiate 또는 0

Basic 또는 1

 

기본 인증 방법은 Negotiate입니다.

 

Basic 인증 방법에는 SSL(Secure Sockets Layer) 연결이 필요합니다.

 

다음 예에서는 이 매개 변수를 Basic으로 설정하는 방법을 보여 줍니다.

-AuthType Basic

이 매개 변수에 허용되는 값의 목록은 다음과 같습니다.

 

-CannotChangePassword <System.Nullable[bool]>

계정 암호를 변경할 수 있는지 여부를 지정합니다. 이 매개 변수는 계정의 CannotChangePassword 속성을 설정합니다. 이 매개 변수에 사용할 수 있는

값:

$false 또는 0

$true 또는 1

 

다음 예에서는 계정 암호를 변경할 수 있도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-CannotChangePassword $false

 

-Certificates <X509Certificate[]>

계정의 DER로 인코딩된 X.509v3 인증서를 수정합니다. 이러한 인증서에는 Microsoft 인증서 서비스에서 이 계정에 발급한 공개 키 인증서가 포함됩니다.

이 매개 변수는 계정 개체의 Certificates 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "userCertificate

"입니다.

 

구문:

값을 추가하려면 다음 구문을 사용합니다.

-Certificates @{Add=value1,value2,...}

값을 제거하려면 다음 구문을 사용합니다.

-Certificates @{Remove=value3,value4,...}

값을 바꾸려면 다음 구문을 사용합니다.

-Certificates @{Replace=value1,value2,...}

모든 값을 지우려면 다음 구문을 사용합니다.

-Certificates $null

 

세미콜론으로 구분된 목록을 사용하여 작업을 여러 개 지정할 수 있습니다. 예를 들어 다음 구문을 사용하여 Certificate 값을 추가 및 제거합니다.

-Certificates @{Add=value1,value2,...};@{Remove=value3,value4,...}

 

연산자는 다음 순서로 적용됩니다.

..Remove

..Add

..Replace

 

다음 예에서는 New-Object cmdlet을 사용하여 인증서를 만든 다음 이를 사용자 계정에 추가하는 방법을 보여 줍니다. 이 cmdlet을 실행하면 <cert

ificate password>가 인증서를 추가하는 데 사용된 암호로 교체됩니다.

 

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate certificat

e1.cer <certificate password>

Set-ADUser saradavis -Certificates @{Add=$cert}

 

다음 예에서는 바이트 배열로 지정된 인증서를 추가하는 방법을 보여 줍니다.

Set-ADUser saradavis -Certificates @{Add= [Byte[]](0xC5,0xEE,0x53,...)}

 

-ChangePasswordAtLogon <System.Nullable[bool]>

다음 로그온 시도 시 암호를 변경해야 하는지 여부를 지정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

PasswordNeverExpires 속성이 true로 설정되어 있는 계정에 대해서는 이 매개 변수를 $true 또는 1로 설정할 수 없습니다.

 

다음 예에서는 로그온 시 암호를 변경해야 하도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-ChangePasswordAtLogon $true

 

-City <string>

사용자의 구/군/시를 지정합니다. 이 매개 변수는 사용자의 City 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "l"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-City "Las Vegas"

 

-Company <string>

사용자의 회사를 지정합니다. 이 매개 변수는 사용자 개체의 Company 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "com

pany"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Company "Contoso"

 

-Country <string>

사용자가 선택한 언어의 국가 또는 지역 코드를 지정합니다. 이 매개 변수는 사용자 개체의 Country 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapD

isplayName)은 "c"입니다. 이 값은 Windows 2000에서는 사용하지 않습니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Country "IN"

 

-Credential <PSCredential>

이 작업을 수행하는 데 사용할 사용자 계정 자격 증명을 지정합니다. cmdlet이 Active Directory PowerShell 공급자 드라이브에서 실행되는 경

우를 제외하면 기본 자격 증명은 현재 로그온한 사용자의 자격 증명입니다. cmdlet이 이러한 공급자 드라이브에서 실행되는 경우 해당 드라이브에 연결된 계정이 기본

계정이 됩니다.

 

이 매개 변수를 지정하려면 "User1" 또는 "Domain01\User01"과 같은 사용자 이름을 입력하거나 PSCredential 개체를 지정할 수 있습니다.

이 매개 변수에 대한 사용자 이름을 지정하면 cmdlet은 암호를 묻는 메시지를 표시합니다.

 

스크립트를 사용하거나 Get-Credential cmdlet을 사용하여 PSCredential 개체를 만들 수도 있습니다. 그런 다음 Credential 매개 변수

를 PSCredential 개체로 설정할 수 있습니다. 다음 예에서는 자격 증명을 만드는 방법을 보여 줍니다.

$AdminCredentials = Get-Credential "Domain01\User01"

 

다음에서는 Credential 매개 변수를 이 자격 증명으로 설정하는 방법을 보여 줍니다.

-Credential $AdminCredentials

 

현재 자격 증명에 작업을 수행할 수 있는 디렉터리 수준 권한이 없는 경우 Active Directory PowerShell은 종료 오류를 반환합니다.

 

-Department <string>

사용자의 부서를 지정합니다. 이 매개 변수는 사용자의 Department 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "dep

artment"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Department "Development"

 

-Description <string>

개체에 대한 설명을 지정합니다. 이 매개 변수는 개체의 Description 속성 값을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은

"description"입니다.

 

다음 예에서는 이 매개 변수를 샘플 설명으로 설정하는 방법을 보여 줍니다.

-Description "Description of the object"

 

-DisplayName <string>

개체의 표시 이름을 지정합니다. 이 매개 변수는 개체의 DisplayName 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "d

isplayName"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-DisplayName "Sara Davis Laptop"

 

-Division <string>

사용자의 사업부를 지정합니다. 이 매개 변수는 사용자 개체의 Division 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "d

ivision"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Division "Software"

 

-EmailAddress <string>

사용자의 전자 메일 주소를 지정합니다. 이 매개 변수는 사용자 개체의 EmailAddress 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplay

Name)은 "mail"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-EmailAddress "saradavis@contoso.com"

 

-EmployeeID <string>

사용자의 직원 ID를 지정합니다. 이 매개 변수는 사용자 개체의 EmployeeID 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)

은 "employeeID"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-EmployeeID "A123456"

 

-EmployeeNumber <string>

사용자의 직원 번호를 지정합니다. 이 매개 변수는 사용자 개체의 EmployeeNumber 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayN

ame)은 "employeeNumber"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-EmployeeNumber "12345678"

 

-Enabled <System.Nullable[bool]>

계정 활성화 여부를 지정합니다. 활성화된 계정에는 암호가 필요합니다. 이 매개 변수는 계정 개체의 Enabled 속성을 설정합니다. 이 매개 변수는 Active D

irectory UAC(사용자 계정 컨트롤) 특성의 ADS_UF_ACCOUNTDISABLE 플래그도 설정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

다음 예에서는 계정을 활성화하도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Enabled $true

 

-Fax <string>

사용자의 팩스 번호를 지정합니다. 이 매개 변수는 사용자 개체의 Fax 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "facs

imileTelephoneNumber"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Fax "+1 (999) 555 1212"

 

-GivenName <string>

사용자의 이름을 지정합니다. 이 매개 변수는 사용자 개체의 GivenName 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "g

ivenName"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-givenName "Sanjay"

 

-HomeDirectory <string>

사용자의 홈 디렉터리를 지정합니다. 이 매개 변수는 사용자 개체의 HomeDirectory 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayN

ame)은 "homeDirectory"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-HomeDirectory "\\users\saraDavisHomeDir"

 

-HomeDrive <string>

HomeDirectory 속성에 정의된 UNC 경로와 연결된 드라이브를 지정합니다. 드라이브 문자는 "<DriveLetter>:"로 지정됩니다. 여기서 <Drive

Letter>는 연결할 드라이브에 해당하는 문자를 나타냅니다. <DriveLetter>는 단일 대문자여야 하며 콜론이 필요합니다. 이 매개 변수는 사용자 개체의 H

omeDrive 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "homeDrive"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-HomeDrive "D:"

 

-HomePage <string>

개체 홈페이지의 URL을 지정합니다. 이 매개 변수는 Active Directory 개체의 homePage 속성을 설정합니다. 이 속성의 LDAP 표시 이름(lda

pDisplayName)은 "wWWHomePage"입니다.

 

다음 예에서는 이 매개 변수를 URL로 설정하는 방법을 보여 줍니다.

-HomePage "http://employees.contoso.com/sdavis"

 

-HomePhone <string>

사용자의 집 전화 번호를 지정합니다. 이 매개 변수는 사용자의 HomePhone 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은

"homePhone"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-HomePhone "+1 (999) 555 1212"

 

-Initials <string>

사용자 이름의 일부를 나타내는 머리글자를 지정합니다. 이 값을 사용자의 중간 이름 머리글자로 사용할 수 있습니다. 이 매개 변수는 사용자의 Initials 속성을

설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "initials"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Initials "L"

 

-Instance <ADUser>

새 사용자 개체의 템플릿으로 사용할 사용자 개체의 인스턴스를 지정합니다.

 

기존 사용자 개체의 인스턴스를 템플릿으로 사용하거나 템플릿을 사용하기 위해 새 사용자 개체를 생성할 수 있습니다. Windows PowerShell 명령줄이나 스

크립트를 사용하여 새 사용자 개체를 생성할 수 있습니다. 다음 예에서는 이 두 메서드를 사용하여 사용자 개체 템플릿을 만드는 방법을 보여 줍니다.

 

방법 1: 기존 사용자 개체를 새 개체의 템플릿으로 사용합니다. 기존 사용자 개체의 인스턴스를 검색하려면 Get-ADUser와 같은 cmdlet을 사용합니다. 그런

다음 이 개체의 New-ADUser cmdlet의 Instance 매개 변수에 제공하여 새 사용자 개체를 만듭니다. 해당 매개 변수를 설정하여 새 개체의 속성 값

을 재정의할 수 있습니다.

 

$userInstance = Get-ADUser -Identity "saraDavis"

New-ADUser -SAMAccountName "ellenAdams" -Instance $userInstance -DisplayName "EllenAdams

"

 

방법 2: Windows PowerShell 명령줄 인터페이스를 사용하여 새 ADUser 개체를 만들고 속성 값을 설정합니다. 그런 다음 이 개체를 New-ADUs

er cmdlet의 Instance 매개 변수에 전달하여 새 Active Directory 사용자 개체를 만듭니다.

 

$userInstance = new-object Microsoft.ActiveDirectory.Management.ADUser

$userInstance.DisplayName = "Ellen Adams"

New-ADUser -SAMAccountName "ellenAdams" -Instance $userInstance

 

참고: 지정된 특성의 유효성이 검사되지 않으므로 존재하지 않거나 설정할 수 없는 특성을 설정하려고 시도하면 오류가 발생합니다.

 

-LogonWorkstations <string>

사용자가 액세스할 수 있는 컴퓨터를 지정합니다. 둘 이상의 컴퓨터를 지정하려면 쉼표로 구분된 단일 목록을 만듭니다. SAM(보안 계정 관리자) 계정 이름(sAMAc

countName) 또는 컴퓨터의 DNS 호스트 이름을 사용하여 컴퓨터를 식별할 수 있습니다. SAM 계정 이름은 컴퓨터의 NetBIOS 이름과 동일합니다.

 

이 속성의 LDAP 표시 이름(ldapDisplayName)은 "userWorkStations"입니다.

 

다음 예에서는 SAMAccountName(NetBIOS 이름) 및 DNSHostName 값을 사용하여 이 매개 변수를 설정하는 방법을 보여 줍니다.

-LogonWorkstations "saraDavisDesktop,saraDavisLapTop,projectA.corp.contoso.com"

 

-Manager <ADUser>

사용자의 관리자를 지정합니다. 이 매개 변수는 사용자의 Manager 속성을 설정합니다. 이 매개 변수는 다음 속성 값 중 하나를 제공하여 설정됩니다. 참고: 괄

호 안의 식별자는 해당 속성의 LDAP 표시 이름입니다.

 

고유 이름

예: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com

GUID(objectGUID)

예: 599c3d2e-f72d-4d20-8a88-030d99495f20

보안 식별자(objectSid)

예: S-1-5-21-3165297888-301567370-576410423-1103

SAM 계정 이름(sAMAccountName)

예: saradavis

 

이 속성의 LDAP 표시 이름(ldapDisplayName)은 "manager"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Manager saradavis

 

-MobilePhone <string>

사용자의 휴대폰 번호를 지정합니다. 이 매개 변수는 사용자 개체의 MobilePhone 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayNam

e)은 "mobile"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-MobilePhone "+1 (999 ) 555 1212"

 

-Name <string>

개체의 이름을 지정합니다. 이 매개 변수는 Active Directory 개체의 Name 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayNa

me)은 "name"입니다.

 

다음 예에서는 이 매개 변수를 이름 문자열로 설정하는 방법을 보여 줍니다.

-Name "SaraDavis"

 

-Office <string>

사용자 회사의 위치를 지정합니다. 이 매개 변수는 사용자 개체의 Office 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "o

ffice"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Office "D1042"

 

-OfficePhone <string>

사용자의 회사 전화 번호를 지정합니다. 이 매개 변수는 사용자 개체의 OfficePhone 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayN

ame)은 "telephoneNumber"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-OfficePhone "+1 (999) 555 1212"

 

-Organization <string>

사용자의 조직을 지정합니다. 이 매개 변수는 사용자 개체의 Organization 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은

"o"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Organization "Accounting"

 

-OtherAttributes <hashtable>

cmdlet 매개 변수로 표현되지 않는 특성에 대한 개체 특성 값을 지정합니다. 이 매개 변수를 사용하여 동시에 하나 이상의 매개 변수를 설정할 수 있습니다. 특성

이 둘 이상의 값을 취하는 경우 값을 여러 개 할당할 수 있습니다. 특성을 식별하려면 Active Directory 스키마에서 해당 특성에 정의된 LDAPDispl

ayName(ldapDisplayName)을 지정합니다.

 

구문:

특성에 단일 값을 지정하는 경우

-OtherAttributes @{'AttributeLDAPDisplayName'=value}

특성에 여러 값을 지정하는 경우

-OtherAttributes @{'AttributeLDAPDisplayName'=value1,value2,...}

 

세미콜론을 사용하여 특성을 구분하여 여러 개의 특성에 값을 지정할 수 있습니다. 다음 구문에서는 여러 개의 특성에 값을 설정하는 방법을 보여 줍니다.

-OtherAttributes @{'Attribute1LDAPDisplayName'=value; 'Attribute2LDAPDisplayName'=value1

,value2;...}

 

다음 예에서는 이 매개 변수를 사용하는 방법을 보여 줍니다.

 

유니코드 문자열 집합을 취하는 favColors라는 사용자 지정 특성 값을 설정하려면 다음 구문을 사용합니다.

-OtherAttributes @{'favColors'="pink","purple"}

 

favColors 및 dateOfBirth의 값을 동시에 설정하려면 다음 구문을 사용하십시오.

-OtherAttributes @{'favColors'="pink","purple"; 'dateOfBirth'=" 01/01/1960"}

 

-OtherName <string>

사용자의 성 및 이름 외에 더 추가할 이름(예: 사용자의 중간 이름)을 지정합니다. 이 매개 변수는 사용자 개체의 OtherName 속성을 설정합니다. 이 속성의

LDAP 표시 이름(ldapDisplayName)은 "middleName"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-OtherName "Peter"

 

-PassThru <switch>

새 개체 또는 수정된 개체를 반환합니다. 기본적으로(즉, -PassThru가 지정되지 않은 경우) 이 cmdlet에서는 출력을 생성하지 않습니다.

 

-PasswordNeverExpires <System.Nullable[bool]>

계정 암호가 만료될 수 있는지 여부를 지정합니다. 이 매개 변수는 계정 개체의 PasswordNeverExpires 속성을 설정합니다. 이 매개 변수는 Active

Directory 사용자 계정 컨트롤 특성의 ADS_UF_DONT_EXPIRE_PASSWD 플래그도 설정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

참고: ChangePasswordAtLogon 속성이 true로 설정되어 있는 계정에 대해서는 이 매개 변수를 $true 또는 1로 설정할 수 없습니다.

 

다음 예에서는 암호가 만료될 수 있도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-PasswordNeverExpires $false

 

-PasswordNotRequired <System.Nullable[bool]>

계정에 암호가 필요한지 여부를 지정합니다. 새 계정에 암호가 필요하지 않습니다. 이 매개 변수는 계정 개체의 PasswordNotRequired 속성을 설정합니다.

 

 

다음 예에서는 이 매개 변수를 true로 설정하는 방법을 보여 줍니다.

-PasswordNotRequired $true

 

-Path <string>

새 개체가 만들어지는 컨테이너 또는 OU(조직 구성 단위)의 X.500 경로를 지정합니다.

 

대개 값이 지정되지 않은 경우 Path 매개 변수에 대해 기본값이 사용됩니다. 기본값을 결정하는 규칙은 다음과 같습니다. 먼저 나열된 규칙이 먼저 평가되고 기본

값을 결정할 수 있게 되면 더 이상 규칙이 평가되지 않습니다.

 

AD DS 환경에서는 다음과 같은 경우에 Path의 기본값이 설정됩니다.

- cmdlet이 Active Directory PowerShell 공급자 드라이브에서 실행되는 경우 이 매개 변수는 공급자 드라이브의 현재 경로로 설정됩니다.

- cmdlet에 기본 경로가 있는 경우 이 경로가 사용됩니다. 예를 들어 New-ADUser에서 Path 매개 변수는 기본값인 Users 컨테이너로 지정됩니

다.

- 앞에서 적용되는 사례가 없는 경우 Path의 기본값은 대상 도메인의 명명 컨텍스트 또는 기본 파티션으로 설정됩니다.

 

AD LDS 환경에서는 다음과 같은 경우에 Path의 기본값이 설정됩니다.

- cmdlet이 Active Directory PowerShell 공급자 드라이브에서 실행되는 경우 이 매개 변수는 공급자 드라이브의 현재 경로로 설정됩니다.

- cmdlet에 기본 경로가 있는 경우 이 경로가 사용됩니다. 예를 들어 New-ADUser에서 Path 매개 변수는 기본값인 Users 컨테이너로 지정됩니

다.

- 대상 AD LDS 인스턴스에 기본 명명 컨텍스트가 있는 경우 Path의 기본값은 이 기본 명명 컨텍스트로 설정됩니다. AD LDS 환경에 대한 기본 명명 컨텍

스트를 지정하려면 해당 AD LDS 인스턴스에 대한 Active Directory DSA(디렉터리 서비스 에이전트) 개체(nTDSDSA)의 msDS-defaultN

amingContext 속성을 설정합니다.

- 앞에서 적용되는 사례가 없는 경우 Path 매개 변수는 기본값을 사용하지 않습니다.

 

다음 예에서는 이 매개 변수를 OU로 설정하는 방법을 보여 줍니다.

 

-Path "ou=mfg,dc=noam,dc=corp,dc=contoso,dc=com"

 

참고: New-Item, Remove-Item, Remove-ItemProperty, Rename-Item 및 Set-ItemProperty와 같은 Active

Directory 공급자 cmdlet에도 Path 속성이 포함되어 있습니다. 하지만 공급자 cmdlet의 경우에는 Active Directory cmdlet과 달리

Path 매개 변수가 컨테이너가 아닌 실제 개체의 경로를 식별합니다.

 

-POBox <string>

사용자의 우체국 사서함 번호를 지정합니다. 이 매개 변수는 사용자 개체의 POBox 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)

은 "postOfficeBox"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-POBox "25662"

 

-PostalCode <string>

사용자의 우편 번호를 지정합니다. 이 매개 변수는 사용자의 PostalCode 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "

postalCode"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-PostalCode "28712"

 

-ProfilePath <string>

사용자 프로필의 경로를 지정합니다. 이 값은 로컬 절대 경로이거나 UNC(범용 명명 규칙) 경로일 수 있습니다. 이 매개 변수는 사용자 개체의 ProfilePath

속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "profilePath"입니다.

 

다음 예에서는 이 매개 변수를 로컬 경로 및 UNC 경로로 설정하는 방법을 보여 줍니다. -ProfilePath "E:\users\profiles\saraDa

vis"

-ProfilePath "\\users\profiles\saraDavis"

 

-SamAccountName <string>

사용자, 그룹, 컴퓨터 또는 서비스 계정의 SAM(보안 계정 관리자) 계정 이름을 지정합니다. 설명의 최대 길이는 256자입니다. 이전 운영 체제와의 호환성을 위해

20자 이하의 SAM 계정 이름을 만드십시오. 이 매개 변수는 계정 개체의 SAMAccountName을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisp

layName)은 "sAMAccountName"입니다.

 

다음 예에서는 이 매개 변수를 지정하는 방법을 보여 줍니다.

-SAMAccountName "saradavis"

 

참고: 지정된 문자열 값이 '$' 문자로 종료되지 않으면 필요한 경우 이 문자가 자동으로 추가됩니다.

 

-ScriptPath <string>

사용자 로그온 스크립트의 경로를 지정합니다. 이 값은 로컬 절대 경로이거나 UNC(범용 명명 규칙) 경로일 수 있습니다. 이 매개 변수는 사용자의 ScriptPat

h 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "scriptPath"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-ScriptPath "\\logonScripts\saradavisLogin"

 

-Server <string>

해당 도메인 이름 또는 디렉터리 서버에 대해 다음 값 중 하나를 제공하여 연결할 Active Directory 도메인 서비스 인스턴스를 지정합니다. 서비스는 Ac

tive Directory Lightweight 도메인 서비스, Active Directory 도메인 서비스 또는 Active Directory Snapshot 인

스턴스 중 하나일 수 있습니다.

도메인 이름 값:

정규화된 도메인 이름

예: corp.contoso.com

NetBIOS 이름

예: CORP

 

디렉터리 서버 값:

정규화된 디렉터리 서버 이름

예: corp-DC12.corp.contoso.com

NetBIOS 이름

예: corp-DC12

정규화된 디렉터리 서버 이름 및 포트

예: corp-DC12.corp.contoso.com:3268

 

Server 매개 변수의 기본값은 다음 방법을 나열된 순서대로 적용하여 결정됩니다.

-파이프라인을 통해 전달된 개체에서 Server 값 사용

-Active Directory PowerShell 공급자 드라이브에서 실행되는 경우 이 드라이브와 연결된 서버 정보 사용

-Powershell을 실행하는 컴퓨터의 도메인 사용

 

다음 예에서는 정규화된 도메인 이름을 매개 변수 값으로 지정하는 방법을 보여 줍니다.

-Server "corp.contoso.com"

 

-ServicePrincipalNames <string[]>

계정의 서비스 사용자 이름을 지정합니다. 이 매개 변수는 계정의 ServicePrincipalNames 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapD

isplayName)은 servicePrincipalName입니다. 이 매개 변수는 다음 구문을 사용하여 서비스 사용자 이름 값을 추가, 제거, 교체하거나 지웁니다

.

구문:

값을 추가하려면 다음 구문을 사용합니다.

-ServicePrincipalNames @{Add=value1,value2,...}

값을 제거하려면 다음 구문을 사용합니다.

-ServicePrincipalNames @{Remove=value3,value4,...}

값을 바꾸려면 다음 구문을 사용합니다.

-ServicePrincipalNames @{Replace=value1,value2,...}

모든 값을 지우려면 다음 구문을 사용합니다.

-ServicePrincipalNames $null

 

세미콜론으로 구분된 목록을 사용하여 변경 내용을 여러 개 지정할 수 있습니다. 예를 들어 다음 구문을 사용하여 서비스 사용자 이름을 추가 및 제거합니다.

@{Add=value1,value2,...};@{Remove=value3,value4,...}

 

연산자는 다음 순서로 적용됩니다.

..Remove

..Add

..Replace

 

다음 예에서는 서비스 사용자 이름을 추가 및 제거하는 방법을 보여 줍니다.

-ServicePrincipalNames-@{Add="SQLservice\accounting.corp.contoso.com:1456"};{Remove="SQLs

ervice\finance.corp.contoso.com:1456"}

 

-SmartcardLogonRequired <System.Nullable[bool]>

로그온하는 데 스마트 카드가 필요한지 여부를 지정합니다. 이 매개 변수는 사용자의 SmartCardLoginRequired 속성을 설정합니다. 이 매개 변수는 Ac

tive Directory 사용자 계정 컨트롤 특성의 ADS_UF_SMARTCARD_REQUIRED 플래그도 설정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

다음 예에서는 계정에 로그온하는 데 스마트 카드가 필요하도록 이 매개 변수를 설정하는 방법을 보여 줍니다.

-SmartCardLogonRequired $true

 

-State <string>

사용자 또는 조직 구성 단위의 시/도를 지정합니다. 이 매개 변수는 사용자 또는 조직 구성 단위 개체의 State 속성을 설정합니다. 이 속성의 LDAP 표시 이름

(ldapDisplayName)은 "st"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-State "Nevada"

 

-StreetAddress <string>

사용자의 주소를 지정합니다. 이 매개 변수는 사용자 개체의 StreetAddress 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)

은 "streetAddress"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-StreetAddress "1200 Main Street"

 

-Surname <string>

사용자의 성을 지정합니다. 이 매개 변수는 사용자 개체의 Surname 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "sn"입

니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Surname "Patel"

 

-Title <string>

사용자의 직함을 지정합니다. 이 매개 변수는 사용자 개체의 Title 속성을 설정합니다. 이 속성의 LDAP 표시 이름(ldapDisplayName)은 "title

"입니다.

 

다음 예에서는 이 매개 변수를 설정하는 방법을 보여 줍니다.

-Title "Manager"

 

-TrustedForDelegation <System.Nullable[bool]>

계정을 Kerberos 위임에 대해 신뢰할 수 있는지 여부를 지정합니다. Kerberos 위임에 대해 신뢰할 수 있는 계정으로 실행되는 서비스는 해당 서비스를 요청

하는 클라이언트의 ID를 사용할 수 있습니다. 이 매개 변수는 계정 개체의 TrustedForDelegation 속성을 설정합니다. 이 값은 Active Direc

tory 사용자 계정 컨트롤 특성의 ADS_UF_TRUSTED_FOR_DELEGATION 플래그도 설정합니다. 이 매개 변수에 사용할 수 있는 값:

$false 또는 0

$true 또는 1

 

다음 예에서는 계정을 Kerberos 위임에 대해 신뢰할 수 있도록 지정하는 방법을 보여 줍니다.

-TrustedForDelegation $true

 

-Type <string>

만들 개체 유형을 지정합니다. Type 매개 변수를 만들 개체의 유형을 나타내는 Active Directory 스키마 클래스의 LDAP 표시 이름으로 설정합니다.

선택된 유형은 User 스키마 클래스의 하위 클래스여야 합니다. 이 매개 변수를 지정하지 않으면 기본값인 "User"로 설정됩니다.

 

다음 예에서는 이 매개 변수를 사용하여 새 Active Directory InetOrgPerson 개체를 만드는 방법을 보여 줍니다.

-Type "InetOrgPerson"

 

-UserPrincipalName <string>

각 사용자 계정은 <user>@<DNS-domain-name> 형식의 UPN(사용자 계정 이름)을 가지고 있습니다. UPN은 관리자가 지정하는 이름으로, 시스템이

사용하는 LDAP 고유 이름보다 짧으며 기억하기가 더 쉽습니다. UPN은 사용자 개체의 DN에 의존하지 않으므로 사용자 로그온 이름에 영향을 주지 않으면서 사용자

개체를 이동하거나 이름을 바꿀 수 있습니다. UPN을 사용하여 로그온할 때 사용자는 더 이상 로그온 대화 상자의 목록에서 도메인을 선택할 필요가 없습니다.

 

-Confirm [<SwitchParameter>]

명령을 실행하기 전에 확인 메시지를 표시합니다.

 

-WhatIf [<SwitchParameter>]

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

 

<CommonParameters>

이 cmdlet은 Verbose, Debug, ErrorAction, ErrorVariable,

WarningAction, WarningVariable, OutBuffer, OutVariable과

같은 일반 매개 변수를 지원합니다. 자세한 내용을 보려면

"get-help about_commonparameters"를 입력하십시오.

 

-------------------------- 예제 1 --------------------------

 

C:\PS>New-ADUser GlenJohn -Certificate (new-object System.Security.Cryptography.X509Certificate

s.X509Certificate -ArgumentList "export.cer")

 

"export.cer" 파일에서 가져온 인증서를 사용하여 'GlenJohn'이라는 새 사용자를 만듭니다.

 

-------------------------- 예제 2 --------------------------

 

C:\PS>New-ADUser GlenJohn -OtherAttributes @{title="director";mail="glenjohn@fabrikam.com"}

 

'GlenJohn'이라는 새 사용자를 만들고 새 개체에 대해 직함 및 메일 속성을 설정합니다.

 

-------------------------- 예제 3 --------------------------

 

C:\PS>New-ADUser GlenJohn -Type iNetOrgPerson -Path "DC=AppNC" -server lds.Fabrikam.com:50000

 

AD LDS 인스턴스에 'GlenJohn'이라는 새 inetOrgPerson을 만듭니다.

 

설명

예를 보려면 다음과 같이 입력하십시오. "get-help New-ADUser -examples".

자세한 내용을 보려면 다음과 같이 입력하십시오. "get-help New-ADUser -detailed".

기술적인 내용을 보려면 다음과 같이 입력하십시오. "get-help New-ADUser -full".

'Windows > 2008 & 2008 R2' 카테고리의 다른 글

로그인 스크립트로 드라이브 매핑하기  (0) 2012.03.05
Recycle bin (휴지통)  (0) 2012.02.07
Redircmp DN  (0) 2012.01.04
ADMT 3.2  (0) 2011.12.29
Cluster Shared Volume  (0) 2011.12.23