Monday 28 September 2020

Useful powershell commands

Get current logon username on remote client  

Get-WMIObject -ComputerName clientname -class Win32_ComputerSystem | select username


Get user account lockout status

Get-ADUser username -Properties * | Select-Object LockedOut

Find user's groups with certain string

([Security.Principal.WindowsIdentity]("username")).Groups | foreach-object {$_.Translate([Security.Principal.NTAccount])} |  findstr /i 'test'

Find user's groups in AD

([Security.Principal.WindowsIdentity]("username")).Groups | foreach-object {$_.Translate([Security.Principal.NTAccount])}


Count file number

(Get-ChildItem -Recurse -File | Measure-Object).Count

Count directory number

(Get-ChildItem -Recurse -Directory | Measure-Object).Count


Get group member accounts (filtered by enabled) from certain group/groups 

 Get-ADGroup -Filter {name -like "some name strings"} | Get-adgroupmember -recursive | foreach-object {get-aduser -filter { (name -like $_.name)} -properties enabled } | where-object {$_.enabled -eq $false} | measure


Remove a package

Get-AppxPackage Microsoft.windowscommunicationsapps | Remove-AppxPackage


Get installed packages 

Get-CimInstance -computername pc01 win32_product | Select-Object Name, PackageName, InstallDate | Out-GridView