【 Set-ADUser 】コマンドレット――Active Directoryユーザーの属性を変更するWindows PowerShell基本Tips(24)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Set-ADUser」コマンドレットを解説します。

» 2021年08月19日 05時00分 公開
[国井傑株式会社ソフィアネットワーク]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、Active Directoryに作成されたユーザーの属性を変更する「Set-ADUser」コマンドレットです。

Set-ADUserコマンドレットとは?

 「Set-ADUser」は、PowerShellを利用してActive Directoryユーザーの属性を変更するコマンドレットです。GUIの「Active Directoryユーザーとコンピューター」管理ツールから設定可能な操作でも、PowerShellを利用すれば、複数のユーザーの属性をまとめて変更することができます。


Set-ADUserコマンドレットの書式

Set-ADUser [オプション]


Set-ADUserコマンドレットの主なオプション

オプション 意味
-Identity 属性変更を行うユーザー名を指定する。省略可能
-Enabled ユーザーを有効/無効にする。省略可能
-Country 国/地域属性を設定する。省略可能
-UserPrincipalName ユーザープリンシパル名を設定する。省略可能
-Replace 属性値を特定の値から異なる値へ変更する。省略可能


Active Directoryのユーザーを無効にする

 Set-ADUserコマンドレットでは「-Identity」オプションに続けてユーザー名を指定することで、指定したユーザーの属性を変更することができます。変更する属性はオプションで指定します。

 以下のコマンドレット例では、ユーザー「kunii」に対して「-Enabled」オプションの値に「$false」と指定することで、ユーザーの無効化を設定しています(画面1)。

コマンドレット実行例

Set-ADUser -Identity kunii -Enabled $false

画面1 画面1 「-Identity」オプションと「-Enabled」オプションを指定してSet-ADUserコマンドレットを実行した

 ユーザーを有効化する場合は、「-Enabled」オプションの値「$false」の代わりに「$true」を指定します。



特定OU内のユーザーに対して国/地域属性を設定する

 本連載第14回で紹介した「Get-ADUser」コマンドレットでは、特定の条件に合致するユーザーの一覧を取得することができました。ここでは、Get-ADUserコマンドレットで特定OU(組織単位)内のユーザー一覧を取得し、取得したユーザーに対して国/地域属性を設定してみます。

 以下のコマンドレット例は、Get-ADUserコマンドレットで「employees OU」のユーザー一覧を取得し、該当するユーザーに対して「-Country」オプションを使用して日本を意味する「JP」の値を設定しています(画面2)。

コマンドレット実行例

Get-ADUser -Filter * -SearchBase "OU=employees,DC=contoso,DC=com" | Set-ADUser -Country JP

画面2 画面2 Set-ADUserコマンドレットで国/地域属性を日本に設定した


ユーザープリンシパル名を変更する

 ユーザープリンシパル名(User Principal Name、UPN)(※)のように元の値が設定されている属性を変更する場合は、「-Replace」オプションで変更前と変更後の値をそれぞれ指定します。

【※】ユーザープリンシパル名(UPN):Active Directoryでのユーザー名表記の一つ。Active Directory登録ユーザーのアカウント名の後に、ユーザーが所属するドメイン名を「@」を挟んで連結したユーザー名。



 以下のコマンドレット例は、前項でも使用した「employees OU」のユーザー一覧を取得し、続けて「%」を利用して該当するユーザーに対して繰り返しの処理を行うように指定して、Set-ADUserコマンドレットの「-UserPrincipalName」オプションでユーザープリンシパル名を設定しています。設定内容は、ユーザープリンシパル名属性のドメイン名部分を「contoso.com」から「adfs.jp」に変更しています(画面3)。

コマンドレット実行例

Get-ADUser -Filter * -SearchBase "OU=employees,DC=contoso,DC=com" | %{Set-ADUser -Identity $_ -UserPrincipalName ($_.UserPrincipalName -Replace("@contoso.com","@adfs.jp"))}

画面3 画面3 Set-ADUserコマンドレットでユーザープリンシパル名属性の@以降部分を「contoso.com」から「adfs.jp」に変更した

 この設定は、「Azure AD Connect」でActive DirectoryからAzure Active Directoryにユーザーを同期する際によく使われる設定です。

筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年からマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年からMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。