Active Directory運用のポイント(ユーザアカウントの登録・変更)

投稿者: | 2020年1月9日

Active Directoryを運用するにあたってのポイントです。
「Active Directory ワークショップ」のドキュメントからの抜粋になります。
詳細はこちらを参照ください

Active Directoryの操作はpowershellでできる

powershell を使うとActive Directory のいろいろな操作ができます。
専用のアプリケーションを購入しなくとも、基本的な操作を行うことができます。
たとえば、ユーザアカウントの一括登録や変更といった作業は、

excelで台帳作成 → csvファイル作成 → powershellでActive Directoryに投入

といったことが簡単にできます。

基本的なpowershellの使い方

powershell でActive Directoryを扱うにあたりモジュールのインポートが必要な場合があります。
一度だけの実行ですので、おまじない程度に実行しておくのもよいでしょう。

Import-Module ActiveDirectory

OUの操作

下記のOU管理のためのPowershellコマンドレットがあります。

コマンドレット 機能
Get-ADOrganizationalUnit 1つまたは複数のOU情報を取得する
New-ADOrganizationalUnit 新しいOUを作成する
Set-ADOrganizationalUnit 既存のOUのプロパティを変更する
Remove-ADOrganizationalUnit 既存のOUを削除する

■OU情報の取得はGet-ADOrganizationUnitコマンドレットを使用します。

---- すべてのOUの取得 ----
Get-ADOrganizationalUnit -Filter "*"
Get-ADOrganizationalUnit -Filter "*" | Export-CSV -Path C:\Work\ADGroups.csv

---- すべてのOUのOU名を取得 ----
Get-ADOrganizationalUnit -Filter "*" | Select-Object {$_.Name}

---- 任意のOUの子OUを取得 ----
Get-ADOrganizationalUnit -Filter "*" -SearchBase "OU=IT,DC=SC,DC=com" -SearchScope Onelevel | Select {$_.Name}

■OUの新規作成はNew-ADOrganizationUnitコマンドレットを使用します。

---- OUを指定して作成---- 
New-ADOrganizationalUnit -Name “営業部” -Path "DC=SC,DC=local"
New-ADOrganizationalUnit -Name “営業1課” -Path "OU=営業部,DC=SC,DC=local"

---- 保護を無効にしてOUを作成(規定値は有効)---- 
New-ADOrganizationalUnit -Name “営業部” -Path "DC=SC,DC=local" -ProtectedFromAccidentalDeletion $false

■OUのプロファイルの編集はSet-ADOrganizationUnitコマンドレットを使用します。

---- OU ”営業部” を ”営業本部” に変更 ---
Get-ADOrganizationalUnit -Filter 'Name -eq "営業部"' -SearchBase "DC=SC,DC=local" -SearchScope OneLevel | Set-ADOrganizationalUnit -Description "営業本部"

■OUの削除はRemove-ADOrganizationUnitコマンドレットを使用します。なお、必要に応じて保護機能を無効にしてから削除します。

---- OU(営業部)を保護機能を無効にしてから削除 ---- 
Set-ADOrganizationalUnit -Identity "OU=営業部,DC=SC,DC=local" -ProtectedFromAccidentalDeletion $false
Remove-ADOrganizationalUnit -Identity "OU=営業部,DC=SC,DC=local" -Confirm:$false

---- OU(営業部)を上位から回まで再帰的に削除 ---- 
Remove-ADOrganizationalUnit -Identity "OU=営業部,DC=SC,DC=local" -Recursive -Confirm:$false

グループの操作

下記のようなグループ管理のためのPowershellコマンドレットがあります。

コマンドレット 機能
Get-ADGroup 1つまたは複数のグループ情報を取得する
Get-ADPrincipalGroupMembership 指定したユーザー、コンピューター、グループ、またはサービスアカウントを含むActiveDirectoryグループを取得する
New-ADGroup 新しいグループを作成する
Add-ADPrincipalGroupMemberShip 1つまたは複数のActiveDirectoryグループに1つまたは複数のメンバーを追加する
Add-ADGroupMember 1つまたは複数のメンバーを追加する
Remove-ADGroup 既存のグループを削除する
Remove-ADGroupMember Active Directoryグループから1つまたは複数のメンバーを削除する
Remove-ADPrincipalGroupMembership 1つまたは複数のActive Directoryグループからメンバーを削除する
Set-ADGroup 既存のグループを変更する

■グループ情報を取得するにはGet-ADGroupコマンドレットを使用します。

---- すべてのグループの参照 ---- 
Get-ADGroup -filter *
Get-ADGroup -filter * | Export-CSV -Path C:\Work\ADGroups.csv

---- administratorsグループの参照 ---- 
Get-ADGroup Administrators

---- 識別子を使ってグループの参照 ---- 
ドメインが sample.local の場合
Get-ADGroup -Identity "CN=Administrators,CN=Builtin,DC=sample,DC=local"

■新規グループを作成するにはNew-ADGroupコマンドレットを使用します。

---- 「営業グループ」グループの作成(ローカルグループ) ---- 
New-ADGroup -Name “営業グループ” -GroupScope DomainLocal

---- OUを指定して「営業グループ」グループの作成(グローバルグループ) ---- 
ドメインが sample.local の場合
New-ADGroup -Name “営業グループ” -GroupScope Global -Path "OU=IT,DC=sample,DC=local"

■グループに属しているユーザ情報を取得するにはGet-ADGroupMemberコマンドレットを使用します。

---- administratorsグループのメンバーを取得 ---- 
Get-ADGroupMember -Identity Administrators
Get-ADGroupMember -Identity Administrators| Export-CSV -Path C:\Work\ADGroups.csv

---- administratorsグループのメンバー名のみを取得 ---- 
Get-ADGroupMember -Identity Administrators | Select {$_.SamAccountName}

■グループにユーザを追加するにはAdd-ADGroupMemberコマンドレットを使用します。

---- 営業グループのメンバーとしてuser001と user002を追加 ---- 
Add-ADGroupMember -Identity “営業グループ” -Members user001,user002

■グループからユーザを削除するにはRemove-ADGroupMemberコマンドレットを使用します。

---- 営業グループのメンバーからuser001を削除 ---- 
Remove-ADGroupMember -Identity “営業グループ” -Members user001 -Confirm:$false

ユーザアカウントの操作

下記のようなユーザアカウント管理のためのPowershellコマンドレットがあります。

コマンドレット 機能
Get-ADUser ユーザーアカウント情報を取得する
New-ADUser 新しくユーザーアカウントを作成する
Set-ADUser ユーザープロファイルを修正する
Remove-ADUser 既存のユーザーアカウントを削除する
Get-ADUserResultantPasswordPolicy ユーザーのパスワードポリシーの結果を取得する

■ユーザーアカウント情報を取得するにはGet-ADUserコマンドレットを使用します。

---- 全ユーザー ---- 
Get-ADUser -Filter *
Get-ADUser -Filter * | Export-Csv -path user.csv -Encoding Default

---- メールアドレスでユーザーを検索 ---- 
Get-ADUser -Filter {EmailAddress -like "メールアドレス"}

---- 任意のOUに属するユーザー(下記では「IT」OU) ---- 
ドメインが sample.local 、OUが IT の場合
Get-ADUser -Filter * -SearchBase "OU=IT,DC=sample,DC=local"

■新規ユーザーアカウントを作成するにはNew-ADUserコマンドレットを使用します。

---- ユーザを作成(既定の場所に作成) ---- 
New-ADUser -UserPrincipalName "TestUser" -Name "TestUser" -Enabled $true -Surname "テスト" -GivenName "太郎" -DisplayName "テスト 太郎" -PasswordNotRequired $true -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword123" -Force)

---- OUを指定する場合 ---- 
ドメインが sample.local 、OUが IT の場合
New-ADUser  TestUser  -UserPrincipalName "TestUser" -Name "TestUser" -Enabled $true -Surname "テスト" -GivenName "太郎" -DisplayName "テスト 太郎" -PasswordNotRequired $true -Path "OU=IT,DC=sample,DC=local"  -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword123" -Force)

New-ADUserでよく使われるオプションは以下になります。

■既存ユーザーアカウントを削除するにはRemove-ADUserコマンドレットを使用します。

---- ユーザ(TestUser)を削除 ---- 
Get-ADUser TestUser | Remove-ADUser -Confirm:$false

powershellでユーザアカウントの一括処理

こちらを参照ください。

コメントを残す

メールアドレスが公開されることはありません。