PowerShellのSet-ADUserコマンドレットでActive Directoryのユーザーの有効期限を変更する

以前はPowerShellのGet-ADUserコマンドレットでActive Directoryのユーザー情報を取得したり、New-ADUserでユーザーを登録したりしました。
今回はSet-ADUserコマンドレットで、ユーザーアカウントの有効期限を変更してみます。
環境はWindows Server 2012 R2のドメインコントローラーです。

なお、Get-ADUser、New-ADUser、Set-ADUserの各コマンドレットで、ユーザーアカウントの有効期限のオプションは「AccountExpirationDate」です。

(写真1)有効期限変更前のユーザーのプロパティ
有効期限変更前のユーザーのプロパティ
test01.localドメインのユーザー「TEST001」は、Active DirectoryユーザーとコンピューターのGUIで見ると、アカウントの有効期限が2015/2/28までとなっています。

(写真2)有効期限によってユーザーを抽出
管理者:Windows PowerShell
PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"} |Format-Table -Property Name,Enabled,AccountExpirationDate

Name                                  Enabled AccountExpirationDate
----                                  ------- ---------------------
TEST001                                  True


PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/03/01"} |Format-Table -Property Name,Enabled,AccountExpirationDate

Name                                  Enabled AccountExpirationDate
----                                  ------- ---------------------
TEST001                                  True


PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/02/28"} |Format-Table -Property Name,Enabled,AccountExpirationDate
PS C:\>
「Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"} |Format-Table -Property Name,Enabled,AccountExpirationDate」で、アカウントの有効期限が2015/12/31と同じか、それよりも短いユーザーを抽出します。
AccountExpirationDateが2015/12/31、2015/3/1ではTEST001はヒットします。
しかし2015/2/28だとヒットしません。ちょっと不思議です。
Active Directoryユーザーとコンピューターでは有効期限が2015/2/28なのに。

ここではパイプで「Format-Table」に送って、プロパティの中から「Name,Enabled,AccountExpirationDate」を選択して表示しています。
しかし肝心のAccountExpirationDateが何も表示されない理由はよくわかりません。

(写真3)有効期限変更前のユーザーの詳細情報
管理者:Windows PowerShell
PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/03/01"} -Properties *


AccountExpirationDate                : 2015/03/01 0:00:00
accountExpires                       : 130696092000000000
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : test01.local/Users/TEST001
Certificates                         : {}
City                                 :
CN                                   : TEST001
codePage                             : 0
~以下略~
「Get-ADUser -Filter {AccountExpirationDate -le "2015/03/01"} -Properties *」を実行すると、有効期限が2015/3/1と同じかそれよりも短いユーザーの詳細な情報がリスト形式で表示されます。
AccountExpirationDateを見ると、「2015/03/01 0:00:00」になっています。
ああ、そう言う事ね。だから2015/2/28ではヒットしないのね。

(写真4)ユーザーアカウントの有効期限を変更

管理者:Windows PowerShell
PS C:\> Set-ADUser "CN=TEST001,CN=Users,DC=test01,DC=local" -AccountExpirationDate "2015/12/31"
PS C:\>
「Set-ADUser "CN=TEST001,CN=Users,DC=test01,DC=local" -AccountExpirationDate "2015/12/31"」を実行すると、TEST0001のアカウントの有効期限が2015/12/31に変更されます。
PowerShellのコマンド画面には何も反応がないのが淋しいです。

(写真5)有効期限によってユーザーを抽出

管理者:Windows PowerShell
PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"} |Format-Table -Property Name,Enabled,AccountExpirationDate

Name                                  Enabled AccountExpirationDate
----                                  ------- ---------------------
TEST001                                  True


PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/03/01"} |Format-Table -Property Name,Enabled,AccountExpirationDate
PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/02/28"} |Format-Table -Property Name,Enabled,AccountExpirationDate
PS C:\>
再度Get-ADUserでユーザーを抽出してみます。
「Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"}」だとTEST001がヒットしますが、2015/3/1や2015/2/28ではヒットしません。
想定通りです。

(写真6)有効期限変更後のユーザーの詳細情報

管理者:Windows PowerShell
PS C:\> Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"} -Properties *


AccountExpirationDate                : 2015/12/31 0:00:00
accountExpires                       : 130959612000000000
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : test01.local/Users/TEST001
Certificates                         : {}
City                                 :
CN                                   : TEST001
codePage                             : 0

~以下略~
Get-ADUser -Filter {AccountExpirationDate -le "2015/12/31"} -Properties *」を実行すると、TEST001の詳細情報が表示されます。
AccountExpirationDateの値は何故か2015/12/31 0:00:00になっています。

(写真7)有効期限変更後のユーザーのプロパティ
有効期限変更後のユーザーのプロパティ
Active Directoryユーザーとコンピューターで有効期限を設定し、Get-ADUserでAccountExpirationDateを見ると翌日の0:00:00がセットされます。
しかしSet-ADUserでAccountExpirationDateを設定すると、当日の0:00:00がセットされます。
うーん、この辺の仕様はちょっと謎ですが。
こんな感じでSet-ADUserコマンドレットを使ってアカウントの有効期限を設定する事が出来ました。



以下参考

有効期限の変更前に、いつものおまじないのようなコマンドで、Active Directoryのユーザー情報をCSV形式にエクスポートしてみました。

(写真8)Active Directoryユーザーの情報をCSV形式にエクスポート
管理者:Windows PowerShell
PS C:\> Get-ADUser -Properties * -Filter * |export-csv -encoding default -path C:\Users\Administrator\Documents\ADUSER.csv
PS C:\>

(写真9)ADUSER.csvをExcelで開いてみた
ADUSER.csvをExcelで開いてみた

(写真10)ADUSER.csvをテキストエディタで開いてみた
ADUSER.csvをテキストエディタで開いてみた

Active Directoryユーザーとコンピューターでアカウントの有効期限が「2015/2/28」となっている時に、Active Directoryのユーザー情報をGet-ADUserでCSV形式にエクスポートし、念のためAccountExpirationDateの値をTeraPadやExcelで見てみました。
しかし間違いなく「2015/03/01 0:00:00」が入っていました。
GUIから有効期限を設定すると、内部的には翌日の0:00:00とセットされるんですね。
しかしSet-ADUserで有効期限を設定すると、その日の0:00:00がセットされるのは謎仕様ですが、まあその辺は良しとします。

テーマ : Windows
ジャンル : コンピュータ

テスト中

全ての記事を表示する

ブロとも申請フォーム

ブログ検索
プロフィール

norimaki2000

norimaki2000のブログにようこそ
Follow norimaki2000 on Twitter気軽に話しかけてね

ニューヨーク・マンハッタン(タイムズスクェア)180×135

千葉県在住で東京都内に勤務。
SIerに勤務するSEです。
SE歴30年超えました。
WindowsサーバーとVMware vSphereを中心としたサーバーインフラの提案・構築・保守を中心にやってます。
昔々はオフコンで販売管理などのアプリケーション開発したり、ファミリーレストランの無線オーダリングやPOS、キッチンプリンタの全国展開していたころもありました。

主な取り扱い製品は
・Windows Server製品
・Active Directory (AD DS)
・VMware vSphere
・Arcserve Replication
・ActiveImage Protector
最近はほとんど使う事が無いですが
・Veritas NetBackup
・Veritas Backup Exec
・Veritas System Recovery
・Arcserve Backup
・NEC CLUSTRERPRO X

10年ぶりくらいにこのプロフィール欄を更新してみました。(2023/04/08)

【Twitter】2010年からやってます。最近は1日に1ツイートくらいです。
仕事関連の呟きが少し、あとは応援しているシンガーの関係が多いです。
Follow norimaki2000 on Twitter
・norimaki2000 on Twitter

Follow norimaki2000 on Twitter
・norimaki2000 on Twilog


Twitter大好きです。
Twitterを考え出した人の発想、システムとして作り上げた努力と情熱はすごい!!
(最近はイーロンマスクによって少々迷走していますが)

【好きな音楽】有名なミュージシャンでは浜田省吾、尾崎豊、エコーズ。
【応援しているシンガー】ここ数年は路上ライブやライブハウスに出演するインディーズのシンガーを応援しています。
文音-ayane-
Emily Styler
Sayuki
cana
つりあやめ
りさ

【応援しているアイドル】千葉県柏市を中心に活動していたする地元アイドルの「コズミック☆倶楽部」を応援していましたが、残念ながら2021年11月に解散、引退してしまいました。

【好きなTVドラマ】犯罪捜査、法廷ドラマが好きです。LAW&ORDER、Xファイル、ER、CSI:科学捜査班シリーズ、クリミナルマインド、NCIS:ネイビー犯罪捜査班、ザ・プラクティス、ボストン・リーガル、24-TWENTY FOUR、ミレニアム


Mozilla Firefox
パソコン困り事相談


最近の記事
最近のコメント
カレンダー
01 | 2015/02 | 03
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
カテゴリー
FC2カウンター
キーワード

Windows_Server VMware_ESX VMware vCenter_Server PowerShell VMware_Player PowerCLI vSphere_Client VirtualCenter Active_Directory vStorage_API Converter 文音 コズミック☆倶楽部 Windows Hyper-V Microsoft_Security_Essentials あいひょん なるみん SQL_Server Windows_8 vSphere VMware_Converter Backup_Exec VMware_vSphere カラオケ sora VCB System_Center 麗美 Red_Hat_Enterprise_Linux Windows_Server_2012 Tech_Fielders System_Recovery ARCserve_Backup メモリダンプ ESX VMware_ESXi RHEL remi Internet_Explorer Exec Server Oracle Active ジン子 Symantec Backup Directory vSphere_CLI DMC-FZ1000 Firefox マークス Windows_Update Twitter vMotion VMware_HA Vista System DRS schtasks SE XenServer キリン Office 氷結 若手 NTFS Recovery Emily_Styler エミリースタイラー  路上ライブ Sysinternals sonoka イチトキ Oracle_Database コズミック倶楽部 vCenter_Converter wevtutil Visual_Studio ベビースター おやつカンパニー スパークリングウォーター カルディ 経済産業省 白石美帆 corega えびしお おとなのおつまみ 一番搾り食物繊維 ラガー スリムス サッポロ のどごし生 セキュリティ 糖質 カーナビ 東京国際フォーラム ついにステップワゴンを契約してしまった サクセス オレッツァ CDRW-AB24JL CD CAB Brio CG CR-V フィット DVD CoolMax ATAPI 0x0000007B エイドリアン バルボア ロッキー スタローン 2008 破損 コマンドライン 圧縮 修復 スパリゾートハワイアンズ お茶のチューハイ ジョシュ・ハートネット シャンプー台のむこうに デュポン ワイヤーアクション ブラックホーク・ダウン コロン 北野 神戸 ハワイ ムエタイ マッハ けんけつちゃん 献血 Gathers ポケモン・スタンプラリー はばたき福祉事業団 倭国赤十字社 映画 東京タワー 写真 ウォーター グレープフルーツ カーポート 高原 バーベキュー 鬼押し出し園 雨どい 掃除 洗濯 セルシオ グランダム 草津 キャンプ サーバ 人口甘味料 伊藤園  羽田 万座温泉 夏休み 関西空港 洗車 iStorage FZ1000 LUMIX Panasonic Intel vSphere_Web_Client Windows_Server_2016 加藤成実 エミリー・スタイラー コズミック☆LOVE wbadmin Windows_Serverバックアップ 浜田省吾 Linux IP38X/N500 NVR500 OneDrive HUAWEI Paper.li れみ GR5 こずくら -ayane- BEACHEND_CAFE 三浦半島 三浦海岸 ちばかわいいくらぶ α7III A7III Robocopy A056 A036 ツイート 動画 シンガーソングライター REAN つりあやめ Wataru_Sato 佐藤航 チャンカナ canaguitar cana AWS robocopy SweetGrass SUPPLEX STOPエラー SAP Thunderbird Tools Uptime.exe USB2.0 USB Resource Replication Kit IZZE IDE NR-7900A NetBackup PCI PC-Success OREZZA Word XP グループポリシー SkyDrive vStorag_API Virtual_Infrastructure Apache OpenOffice Windows_Azure バッチ Tween バックアップ ARCserve_D2D DSP OEM ULPC ITIL ジャンプフェスタ ARCserve_Replication VMFS OpenOffice.org Hyperion 

月別アーカイブ
リンク
RSSフィード

https://mdaa.waihui.online https://vvrh.bokepmobile.site https://xxqa.bokepmobile.site https://iivw.lexu.site https://ixkq.haychill.site https://akmt.rubberducky.site https://xfyd.frisuba.online https://feqs.listamagazine.online https://srft.bokepmobile.site https://dbsf.waihui.online https://ajry.waihui.online https://vsgr.lexu.site https://ivth.bokepmobile.site https://yyqm.ophimhd.site https://bdmh.listamagazine.online