From 2178e70a229c536249464cdb63afdc5242fcde6e Mon Sep 17 00:00:00 2001 From: Jaap Brasser Date: Thu, 26 Jan 2017 21:35:26 +0100 Subject: [PATCH] Added Get-StorageSense to repo --- Get-StorageSense/Get-StorageSense.ps1 | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Get-StorageSense/Get-StorageSense.ps1 diff --git a/Get-StorageSense/Get-StorageSense.ps1 b/Get-StorageSense/Get-StorageSense.ps1 new file mode 100644 index 0000000..e411d1c --- /dev/null +++ b/Get-StorageSense/Get-StorageSense.ps1 @@ -0,0 +1,45 @@ +function Get-StorageSense { +<# +.SYNOPSIS +Retrieves Storage Sense options in Windows 10 + +.DESCRIPTION +This function can retrieve Storage Sense options in Windows 10 + +.NOTES +Name: Get-StorageSense +Author: Jaap Brasser +DateCreated: 2017-01-26 +DateUpdated: 2017-01-26 +Version: 1.0.0 +Blog: http://www.jaapbrasser.com + +.LINK +http://www.jaapbrasser.com + +.EXAMPLE +Get-StorageSense + +Description +----------- +Retrieves all storage sense configuration and recently cleaned data from the current system +#> + $ErrorActionPreference = 'SilentlyContinue' + $HashProperties = @{ + StorageSenseEnabled = (Get-ItemPropertyValue -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy\' -Name 01) -as [bool] + RemoveAppFilesEnabled = (Get-ItemPropertyValue -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy\' -Name 04) -as [bool] + ClearRecycleBinEnabled = (Get-ItemPropertyValue -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy\' -Name 08) -as [bool] + } + + if (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy\SpaceHistory') { + $HashProperties.SpaceHistory = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy\SpaceHistory').psbase.properties | + Where-Object {$_.Name -match '\d{8}'} | ForEach-Object { + [pscustomobject]@{ + Date = [datetime]::ParseExact($_.Name,'yyyyMMdd',$null) + StorageCleanedGB = [math]::Round(($_.Value / 1GB * 1000000),2) + } + } + } + + [pscustomobject]$HashProperties +} \ No newline at end of file