【PowerShell】Set-ADUser コマンドレットでProxyAddresses、UserPrincipalName などの属性を編集する

Active Directory Azure Microsoft365 Powershell


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:
https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-aduser?view=win10-ps



アカウントの編集は Set-ADUser コマンドレットを利用する

Set-ADUser コマンドレットを使うことでADアカウントの基本的な情報を編集できます。
「基本的な情報」というのは、ADアカウントのプロパティを開き、[全般][住所][アカウント]タブ・・・などの画面で対応するオプションあれば編集が可能です。
https://docs.microsoft.com/en-us/powershell/module/addsadministration/set-aduser?view=win10-ps

ただし、各属性への変更はすこし手を加える必要があります。

属性に値を追加する

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”}

 

スポンサードサーチ