Public/Set-SilkQuickiSCSIRecovery.ps1
|
function Set-SilkQuickiSCSIRecovery { param( [parameter()] [switch] $setDefaults, [parameter()] [switch] $force ) $regPath = Find-SilkiSCSIRegistryInstance $parameterPath = $regPath + '\Parameters' if (!$force) { $silkSet = Get-ItemProperty -Path $parameterPath -Name 'silkQuickConnect' -ErrorAction SilentlyContinue if ($silkSet.silkQuickConnect -eq 1) { $doRun = $false Write-Verbose "silkQuickConnect is already set to 1. No changes will be made." } else { $doRun = $true Write-Verbose "silkQuickConnect is not set to 1. Changes will be made." } } else { $doRun = $true } if ($setDefaults) { $parameterSplat = @{ 'TCPConnectTime' = 15 'TCPDisconnectTime' = 15 'DelayBetweenReconnect' = 5 'EnableNOPOut' = 'Disabled' 'MaxRequestHoldTime' = 60 'LinkDownTime' = 15 'SrbTimeoutDelta' = 15 'silkQuickConnect' = 0 } } else { $parameterSplat = @{ 'TCPConnectTime' = 3 'TCPDisconnectTime' = 3 'DelayBetweenReconnect' = 3 'EnableNOPOut' = 'Enabled' 'MaxRequestHoldTime' = 10 'LinkDownTime' = 3 'SrbTimeoutDelta' = 3 'silkQuickConnect' = 1 } } if ($doRun -or $setDefaults) { Write-Verbose "Applying quick iSCSI recovery settings." foreach ($key in $parameterSplat.Keys) { Write-Verbose "-> Setting $key to $($parameterSplat[$key])" Set-ItemProperty -Path $parameterPath -Name $key -Value $parameterSplat[$key] } } } |