Update Invoke-OperatingSystemDiskDetection.ps1

This commit is contained in:
freedbygrace
2023-10-24 17:54:46 -04:00
committed by GitHub
parent 7d8c0015e5
commit f40c4ea83d
+62 -20
View File
@@ -165,9 +165,9 @@ Try
Switch -Regex ($_.MediaType) Switch -Regex ($_.MediaType)
{ {
'(^4$)|(^SSD$)' {1} '(^4$)|(^SSD$)' {1}
'(^3$)|(^HDD$)' {2} '(^3$)|(^HDD$)' {2}
'(^5$)|(^SCM$)' {3} '(^5$)|(^SCM$)' {3}
'(^0$)|(^Unspecified$)' {4} '(^0$)|(^Unspecified$)' {4}
} }
} }
@@ -175,23 +175,23 @@ Try
Switch -Regex ($_.BusType) Switch -Regex ($_.BusType)
{ {
'(^17$)|(^NVMe$)' {1} '(^17$)|(^NVMe$)' {1}
'(^11$)|(^SATA$)' {2} '(^11$)|(^SATA$)' {2}
'(^8$)|(^RAID$)' {3} '(^8$)|(^RAID$)' {3}
'(^10$)|(^SAS$)' {4} '(^10$)|(^SAS$)' {4}
'(^12$)|(^SD$)' {5} '(^12$)|(^SD$)' {5}
'(^7$)|(^USB$)' {6} '(^7$)|(^USB$)' {6}
'(^1$)|(^SCSI$)' {7} '(^1$)|(^SCSI$)' {7}
'(^6$)|(^Fibre Channel$)' {8} '(^6$)|(^Fibre Channel$)' {8}
'(^3$)|(^ATA$)' {9} '(^3$)|(^ATA$)' {9}
'(^15$)|(^File Backed Virtual$)' {10} '(^15$)|(^File Backed Virtual$)' {10}
'(^2$)|(^ATAPI$)' {11} '(^2$)|(^ATAPI$)' {11}
'(^4$)|(^1394$)' {12} '(^4$)|(^1394$)' {12}
'(^5$)|(^SSA$)' {13} '(^5$)|(^SSA$)' {13}
'(^9$)|(^iSCSI$)' {14} '(^9$)|(^iSCSI$)' {14}
'(^13$)|(^MMC$)' {15} '(^13$)|(^MMC$)' {15}
'(^14$)|(^MAX$)' {16} '(^14$)|(^MAX$)' {16}
'(^16$)|(^Storage Spaces$)' {17} '(^16$)|(^Storage Spaces$)' {17}
'(^0$)|(^Unknown$)' {18} '(^0$)|(^Unknown$)' {18}
'(^18$)|(^Microsoft Reserved$)' {19} '(^18$)|(^Microsoft Reserved$)' {19}
} }
} }
@@ -310,6 +310,48 @@ Try
$LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DesiredOperatingSystemDiskProperty.Name): $($DesiredOperatingSystemDiskProperty.Value -Join ', ')" $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DesiredOperatingSystemDiskProperty.Name): $($DesiredOperatingSystemDiskProperty.Value -Join ', ')"
Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose
} }
$GetDiskInfo = {Get-Disk -Number ($OutputObjectProperties.DesiredOperatingSystemDisk.DiskNumber)}
$DiskInfo = $GetDiskInfo.InvokeReturnAsIs()
Switch ($DiskInfo.IsOffline)
{
{($_ -eq $True)}
{
$LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Disk $($DiskInfo.Number) is currently in `"Offline`" mode and will be set to `"Online`" mode. Please Wait..."
Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose
$Null = Set-Disk -Number ($DiskInfo.Number) -IsOffline:$False
$DiskInfo = $GetDiskInfo.InvokeReturnAsIs()
}
{($_ -eq $False)}
{
$LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Disk $($DiskInfo.Number) is already set to `"Online`" mode. Skipping operation..."
Write-Verbose -Message "$($LogMessage)" -Verbose
}
}
Switch ($DiskInfo.IsReadOnly)
{
{($_ -eq $True)}
{
$LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Disk $($DiskInfo.Number) is currently in `"Read-Only`" mode and will be set to `"Read-Write`" mode. Please Wait..."
Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose
$Null = Set-Disk -Number ($DiskInfo.Number) -IsReadOnly:$False
$DiskInfo = $GetDiskInfo.InvokeReturnAsIs()
}
{($_ -eq $False)}
{
$LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Disk $($DiskInfo.Number) is already set to `"Read-Write`" mode. Skipping operation..."
Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose
}
}
Switch ($IsRunningTaskSequence) Switch ($IsRunningTaskSequence)
{ {