#navi(../)
* PowerShellでユーザーアカウント情報を確認する方法 [#l41b0192]
Win32_UserAccountとWhere-Objectを使えば簡単にユーザーアカウントの情報を取得することができます。~
尚、ドメイン参加状態で確認しました。
以下に使用例を記します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#we1c275a]
-[[コマンドプロンプトでパスワードの有効期限を確認する>コマンドプロンプト/パスワードの有効期限を確認する]]

* 使用したWindowsおよびPowerShellバージョン [#ye45b4fa]
 PS C:\> (Get-WmiObject Win32_OperatingSystem).Name
 Microsoft Windows 7 Professional |C:\Windows|\Device\Harddisk0\Partition1

 PS C:\> $Host.Version
 Major  Minor  Build  Revision
 -----  -----  -----  --------
 5      0      10586  117

* Win32_UserAccountを確認する [#dedaad2f]
Get-WmiObjectを使用して実行するとユーザーアカウント一覧が表示されます。~
ユーザーが多い場合など時間がかかります。
 PS C:\> Get-WmiObject Win32_UserAccount
 
 AccountType : 512
 Caption     : SAKURA\sakura
 Domain      : SAKURA
 SID         : S-1-1-11-1111111111-1111111111-1111111111-1111
 FullName    : 桜 咲
 Name        : sakura
   :
   :
 <省略>

* 特定ユーザの情報を取得する [#t70f9fb5]
今回は、sakuraユーザのユーザーアカウント情報を取得してみます。~
以下のように Where-Object を使用してsakuarユーザのみ情報を変数に格納しています。
 PS C:\> $uinfo=(Get-WmiObject Win32_UserAccount | Where-Object { $_.name -eq "sakura" })
変数$uinfoに格納された値を見てみます。
 PS C:\> $uinfo
 
 
 AccountType : 512
 Caption     : SAKURA\sakura
 Domain      : SAKURA
 SID         : S-1-1-11-1111111111-1111111111-1111111111-1111
 FullName    : 桜 咲
 Name        : sakura

取得したユーザーアカウント情報のメンバーを確認すると使えるようなメソッドがありました。
 PS C:\> $uinfo | get-member
 
 
    TypeName: System.Management.ManagementObject#root\cimv2\Win32_UserAccount
 
 Name                MemberType    Definition
 ----                ----------    ----------
 PSComputerName      AliasProperty PSComputerName = __SERVER
 Rename              Method        System.Management.ManagementBaseObject Rename(System.String Name)
 AccountType         Property      uint32 AccountType {get;set;}
 Caption             Property      string Caption {get;set;}
 Description         Property      string Description {get;set;}
 Disabled            Property      bool Disabled {get;set;}
 Domain              Property      string Domain {get;set;}
 FullName            Property      string FullName {get;set;}
 InstallDate         Property      string InstallDate {get;set;}
 LocalAccount        Property      bool LocalAccount {get;set;}
 Lockout             Property      bool Lockout {get;set;}
 Name                Property      string Name {get;set;}
 PasswordChangeable  Property      bool PasswordChangeable {get;set;}
 PasswordExpires     Property      bool PasswordExpires {get;set;}
 PasswordRequired    Property      bool PasswordRequired {get;set;}
 SID                 Property      string SID {get;set;}
 SIDType             Property      byte SIDType {get;set;}
 Status              Property      string Status {get;set;}
 __CLASS             Property      string __CLASS {get;set;}
 __DERIVATION        Property      string[] __DERIVATION {get;set;}
 __DYNASTY           Property      string __DYNASTY {get;set;}
 __GENUS             Property      int __GENUS {get;set;}
 __NAMESPACE         Property      string __NAMESPACE {get;set;}
 __PATH              Property      string __PATH {get;set;}
 __PROPERTY_COUNT    Property      int __PROPERTY_COUNT {get;set;}
 __RELPATH           Property      string __RELPATH {get;set;}
 __SERVER            Property      string __SERVER {get;set;}
 __SUPERCLASS        Property      string __SUPERCLASS {get;set;}
 PSStatus            PropertySet   PSStatus {Status, Caption, PasswordExpires}
 ConvertFromDateTime ScriptMethod  System.Object ConvertFromDateTime();
 ConvertToDateTime   ScriptMethod  System.Object ConvertToDateTime();

パスワード有効期限などを調べる場合はメンバーに無いので他の方法になると思われます。~
ユーザーアカウントのパスワード有効期限切れ等の情報取得に関しては、コマンドプロンプトで紹介しています。
-[[コマンドプロンプトでパスワードの有効期限を確認する>コマンドプロンプト/パスワードの有効期限を確認する]]

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS