Skip to content

Instantly share code, notes, and snippets.

@markwragg
Last active June 5, 2017 14:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markwragg/70842df5639cb1fdac5bd2163ffff077 to your computer and use it in GitHub Desktop.
Save markwragg/70842df5639cb1fdac5bd2163ffff077 to your computer and use it in GitHub Desktop.
Demo - Calculated Properties
#https://technet.microsoft.com/en-us/library/ff730948.aspx
Get-Process
Get-Process | Select-Object Name, VM, PM -First 10
Get-Process | Select-Object Name, @{name='VirtualMemory (MB)'; expression={$_.VM / 1MB}}, PM -First 10
Get-Process | Select-Object Name, @{name='VirtualMemory (MB)'; expression={ '{0:N2}' -f ($_.VM / 1MB)}}, PM -First 10
Get-Process | Select-Object Name, @{name='VirtualMemory (MB)'; expression={ '{0:N2}' -f ($_.VM / 1MB)}}, @{name='PageableMemory (MB)'; expression={ '{0:N2}' -f ($_.PM / 1MB)}}, @{name='TotalMemory (MB)'; expression={ '{0:N2}' -f (($_.VM / 1MB) + ($_.PM / 1MB))}} -First 10
Get-Process | Select-Object Name, @{name='VirtualMemory (MB)'; expression={ '{0:N2}' -f ($_.VM / 1MB)}}, @{name='PageableMemory (MB)'; expression={ '{0:N2}' -f ($_.PM / 1MB)}}, @{name='TotalMemory (MB)'; expression={ '{0:N2}' -f (($_.VM / 1MB) + ($_.PM / 1MB))}} -First 10
###
Get-ChildItem
Get-ChildItem | Select-Object Name, CreationTime, Length, @{Name="Size (MB)";Expression={$_.Length / 1MB}} | Sort 'Size (MB)'
Get-ChildItem | Select-Object Name, @{Name="UCaseName"; Expression={$_.Name.ToUpper()}}
Get-ChildItem | Select-Object Name, @{Name="Age";Expression={ (((Get-Date) - $_.CreationTime).Days) }}
Get-ChildItem | Select-Object Name, @{Name="Age";Expression={ (((Get-Date) - $_.CreationTime).Days) }} | Sort Age
Get-ChildItem | Select-Object Name, FullName, @{Name="Days Since Last Access";Expression={ (((Get-Date) - $_.LastAccessTime).Days) }} | Where-Object 'Days Since Last Access' -gt 200 | Sort-Object 'Days Since Last Access'
Get-ChildItem | Select-Object Name, FullName, @{Name="Days Since Last Access";Expression={ (((Get-Date) - $_.LastAccessTime).Days) }} | Where-Object 'Days Since Last Access' -gt 200 | Select -ExpandProperty FullName | Remove-Item -WhatIf
# Can line break on the pipeline to make this more readable:
Get-ChildItem |
Select-Object Name, FullName, @{Name="Days Since Last Access";Expression={ (((Get-Date) - $_.LastAccessTime).Days) }} |
Where 'Days Since Last Access' -gt 200 |
Select -ExpandProperty FullName |
Remove-Item -WhatIf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment