Powershell을 사용하여 AD에서 사용자 계정을 생성할 때 Read-Host -Prompt “Enter Your Password” -AsSecureString와 ConvertTo-SecureString “Pa$$w0rd” -AsPlainText -Force의 차이점은


Read-Host -AsSecureString과 ConverTo-SecureString “Pa$$w0rd” -AsPlainText -Force의 차이점

Powershell을 가지고 AD에 하나의 사용자 계정을 생성할 때는 보통 다음과 같이 한다.

New-ADUser -Name “Yongshik Lee” -SamAccountName “jesuswithme” -AccountPassword (Read-Host -Prompt “Enter Your Password” -AsSecureString) -Enabled $true

New-ADUser -Name “Yongshik Lee” -SamAccountName “jesuswithme” -AccountPassword (ConvertTo-SecureString -String “Pa$$w0rd” -AsPlainText -Force) -Enabled $true

이 두문장의 차이는 무엇인가?
이것은 net users jesuswithme * /add /domain과 net users jesuswithme Pa$$word /add /domain과 비슷한 것이다.

즉, 앞의 것은 사용자 계정을 생성할 때 다른 사람이 암호를 못보도록 하는 것이고,
뒤의 것은 사용자 계정을 생성할 때 본인만이 있는 경우에 암호를 직접 입력하는 경우이다.

하지만 Powershell cmdlet는 암호 저장을 Secure String(문자열 암호를 볼 수 없음)으로 하는 것이고 net users는 plain string(문자열 암호를 볼 수 있음)으로 암호를 저장하는 것이다. 그래서 powershell을 사용하는 것이 보안성이 높다.

** 참고: -AsPlainText와 -Force는 반드시 쌍으로 사용하여야 한다. -Force가 빠지면 오류가 난다

또는 csv 파일을 이용하여 여러 개를 한꺼번에 만들 때도 이것을 사용할 수 있다.
Import-Csv C:\users.csv | New-ADUser

Get-AdUser -Filter {name -like “aduser*”} | Set-ADAccountPassword -Reset –NewPassword (Read-Host -Prompt “Enter Your Password” -AsSecureString)

Import-Csv C:\users.csv | New-ADUser
Get-AdUser -Filter {name -like “aduser*”} | Set-ADAccountPassword -Reset –NewPassword (ConvertTo-SecureString -String “Pa$$w0rd” -AsPlainText -Force)

Get-AdUser -Filter {name -like “aduser*”} | Enable-ADAccount

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s