このエントリーをはてなブックマークに追加


PowerShellでユーザーアカウント情報を確認する方法

Win32_UserAccountとWhere-Objectを使えば簡単にユーザーアカウントの情報を取得することができます。
尚、ドメイン参加状態で確認しました。 以下に使用例を記します。


関連記事

使用したWindowsおよびPowerShellバージョン

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を確認する

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
  :
  :
<省略>

特定ユーザの情報を取得する

今回は、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();

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



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-06-01 (水) 20:55:46