Board logo

标题: [转载代码] [PowerShell每日技巧]查看本地用户(20131223) [打印本页]

作者: DAIC    时间: 2013-12-30 13:17     标题: [PowerShell每日技巧]查看本地用户(20131223)

Did you know that you can actually search for local user accounts, much like you can search for domain accounts?

Here is an example code that searches for all local accounts with a name that starts with "A" and are enabled:
  1. Add-Type -AssemblyName System.DirectoryServices.AccountManagement
  2. $type = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext('Machine', $env:COMPUTERNAME)
  3. $UserPrincipal = New-Object System.DirectoryServices.AccountManagement.UserPrincipal($type)
  4. # adjust your search criteria here:
  5. $UserPrincipal.Name = 'A*'
  6. # you can add even more:
  7. $UserPrincipal.Enabled = $true
  8. $searcher = New-Object System.DirectoryServices.AccountManagement.PrincipalSearcher
  9. $searcher.QueryFilter = $UserPrincipal
  10. $results = $searcher.FindAll();
  11. $results | Select-Object -Property Name, LastLogon, Enabled
复制代码
Likewise, to find all enabled local accounts with a password that never expires, try this:
  1. Add-Type -AssemblyName System.DirectoryServices.AccountManagement
  2. $type = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext('Machine', $env:COMPUTERNAME)
  3. $UserPrincipal = New-Object System.DirectoryServices.AccountManagement.UserPrincipal($type)
  4. # adjust your search criteria here:
  5. $UserPrincipal.PasswordNeverExpires = $true
  6. $UserPrincipal.Enabled = $true
  7. $searcher = New-Object System.DirectoryServices.AccountManagement.PrincipalSearcher
  8. $searcher.QueryFilter = $UserPrincipal
  9. $results = $searcher.FindAll();
  10. $results | Select-Object -Property Name, LastLogon, Enabled, PasswordNeverExpires
复制代码
http://powershell.com/cs/blogs/tips/archive/2013/12/23/searching-for-local-user-accounts.aspx




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2