PowerShell獲取Windows用戶列表、用戶信息的方法
WMI是Windows管理規(guī)范的縮寫,其中包含很多系統(tǒng)的軟硬件信息。而Windows用戶信息也可以通過WMI對象來獲取。PowerShell提供了對WMI的訪問功能,十分方便且強(qiáng)大——這就是Get-WmiObject這個cmdlet。
獲取所有的Windows用戶列表:
Get-WmiObject -Class Win32_UserAccount 或者 Get-WmiObject
如果是想知道查看當(dāng)前登錄的用戶的信息,可以用如下語句:
其中$env:username表示當(dāng)前登錄到系統(tǒng)的用戶名,而$env:userdomain表示當(dāng)前用戶的域(或者機(jī)器名)。
上面的語句其實(shí)只顯示用戶的基本信息,如果想看用戶更詳細(xì)的信息,可以把查出來的用戶當(dāng)成一個對象,使用Select-Object方法,查看它的全部信息。
得到的信息將像這樣:
Caption : hong-book\hong
PasswordExpires : False
__GENUS : 2
__CLASS : Win32_UserAccount
__SUPERCLASS : Win32_Account
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_UserAccount.Domain="hong-book",Name="hong"
__PROPERTY_COUNT : 16
__DERIVATION : {Win32_Account, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : HONG-BOOK
__NAMESPACE : root\cimv2
__PATH : \\HONG-BOOK\root\cimv2:Win32_UserAccount.Domain="hong-book",Name="hong"
AccountType : 512
Description :
Disabled : False
Domain : hong-book
FullName :
InstallDate :
LocalAccount : True
Lockout : False
Name : hong
PasswordChangeable : True
PasswordRequired : False
SID : S-1-5-21-181061805-855091228-1216038997-1000
SIDType : 1
Scope : System.Management.ManagementScope
Path : \\HONG-BOOK\root\cimv2:Win32_UserAccount.Domain="hong-book",Name="hong"
Options : System.Management.ObjectGetOptions
ClassPath : \\HONG-BOOK\root\cimv2:Win32_UserAccount
Properties : {AccountType, Caption, Description, Disabled...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
利用對象提供的這些屬性信息,我們可以做很多事情,比如我們想看看當(dāng)前小編登錄的賬號的密碼是否已過期,則可以寫這樣一個函數(shù):
function Test-UserPasswordExpires
{
param(
$UserName = $env:username,
$Domain = $env:userdomain
)
(Get-WmiObject -Class Win32_UserAccount -Filter "Name='$UserName' and Domain='$Domain'").PasswordExpires
}
好了,關(guān)于用戶信息差不多就這么多,小編祝大家使用愉快!
相關(guān)文章
PowerShell腳本中控制Windows DNS服務(wù)的方法
這篇文章主要介紹了PowerShell腳本中控制Windows DNS服務(wù)的方法,本文給出了相關(guān)例子和命令,需要的朋友可以參考下2014-08-08Windows Powershell對象轉(zhuǎn)換成文本
怎樣將Powershell的對象結(jié)果轉(zhuǎn)換成文本并顯示在控制臺上。Powershell已經(jīng)內(nèi)置Out-Default命令追加在管道的命令串的末尾。因此你使用dir 和dir | out-default的結(jié)果是相同的。2014-09-09PowerShell中字符串使用單引號和雙引號的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號和雙引號的區(qū)別,大家可能會經(jīng)常遇到這個問題,需要的朋友可以參考下2014-08-08探索PowerShell (四) PowerShell的對象、格式與參數(shù)
本節(jié)將要給大家介紹一下PowerShell下的對象,基本格式以及參數(shù)。依然屬于PowerShell的基礎(chǔ)2012-12-12PowerShell計(jì)算腳本執(zhí)行時間的實(shí)現(xiàn)方法
如果你想知道一個腳本運(yùn)行了多久時間,你可以使用Measure-Command,但是這個命令僅用于診斷目的且沒有輸出2014-04-04使用HTTP api簡單的遠(yuǎn)程執(zhí)行PowerShell腳本
為了你能非常簡單的遠(yuǎn)程執(zhí)行PoweShell腳本,使用REST API是一個很好的選擇,因?yàn)楝F(xiàn)在許多流行的編程語言都可以簡單的執(zhí)行HTTP的GET操作。2014-10-10PowerShell使用Remove-Item命令刪除文件、注冊表項(xiàng)介紹
這篇文章主要介紹了PowerShell使用Remove-Item命令刪除文件、注冊表項(xiàng)介紹,另外Remove-Item的別名也有很多,需要的朋友可以參考下2014-08-08PowerShell實(shí)現(xiàn)在多個文件中檢索關(guān)鍵字功能
這篇文章主要介紹了PowerShell實(shí)現(xiàn)在多個文件中檢索關(guān)鍵字功能,本文使用Select-String解決這了個需求,需要的朋友可以參考下2015-01-01