Get-ADUser コマンドレットは、Active Directory のユーザデータベース情報が取得でき便利です。
ProxyAddresses、UserPrincipalName、extensionattributeなどの属性を変更する方法がなかなか見当たりませんでした。しかし、何とかコマンドで対応できることがわかりました。
たしかに、マイクロソフトのサイトを見てみますと、ADアカウントの情報量に比べ設定できる項目が少ないです。特に属性エディター内の「各属性の変更」、「属性情報の取得」・・・と公式の情報ではすぐに見つかりません。
今回、Azure AD Connect で同期する際に、オンプレミス側ADのアカウント属性が重要になってきますので、属性エディター内の属性に「設定を追加する方法」と「置き換える方法」を解説します。
Get-ADUser コマンドレットを見てみる
ADサーバ上のPowershellを利用して、Get-ADUser コマンドレットを使うことでADアカウントの情報を取得できます。
Get-ADUser [-AuthType <ADAuthType>] [-Credential <PSCredential>] -Filter <String> [-Properties <String[]>] [-ResultPageSize <Int32>] [-ResultSetSize <Int32>] [-SearchBase <String>] [-SearchScope <ADSearchScope>] [-Server <String>] [<CommonParameters>] |
使い方は、Powershell を起動し、以下のように実行します。
するとアカウントの各種プロパティが取得できます。
Get-ADUser -Identity <アカウント名> -Properties * |
参考URL:Get-ADUser (ActiveDirectory) | Microsoft Learn
アカウントの編集は Set-ADUser コマンドレットを利用する
Set-ADUser コマンドレットを使うことでADアカウントの基本的な情報を編集できます。
「基本的な情報」というのは、ADアカウントのプロパティを開き、[全般][住所][アカウント]タブ・・・などの画面で対応するオプションあれば編集が可能です。
ただし、各属性への変更はすこし手を加える必要があります。
参考URL:Set-ADUser (ActiveDirectory) | Microsoft Learn
属性に値を追加する
Set-ADUser コマンドレットの -add オプションを利用します。
◆文字列の追加
たとえば、ExtensionAttribute10属性が未設定(空白)だった場合、以下のコマンドを実行することで、ExtensionAttribute10に「入力したい項目」という文字列が追加されます。
Set-ADUser <アカウント名> -add @{ExtensionAttribute10=”入力したい項目”} |
◆複数のアドレス追加
属性の中にProxyAddresses属性があります。
単純には設定できず、以下の例のように -split “,” というオプションが必要です。
Set-ADUser <アカウント名> -add @{ProxyAddresses=”smtp:○○○@contoso.com,SMTP:○○○@Adatum.com” -split “,”} |
属性の値を変更する
Set-ADUser コマンドレットの -relplace オプションを利用します。
これも「属性名=””」と記載することで値を変更できます。
msExchHideFromAddressLists のようなBoolean型の属性値は $True を付けることで可能。ダブルクォーテーションは必要ありません。
例:
@{msExchHideFromAddressLists=$True}
Set-ADUser <アカウント名> -replace @{UserPrincipalName=”○○○@contoso.com”} |