Worked through PSScriptAnalyzer low hanging fruit

This commit is contained in:
Matt Frey
2019-08-06 14:28:16 -05:00
parent 337dc077a9
commit cbf397df24

View File

@@ -482,7 +482,6 @@ function Get-UserId ($User) {
$defn = New-Object VMware.Hv.QueryDefinition
$defn.queryEntityType = 'ADUserOrGroupSummaryView'
[VMware.Hv.QueryFilter[]]$filters = $null
$groupfilter = New-Object VMware.Hv.QueryFilterEquals -Property @{ 'memberName' = 'base.group'; 'value' = $false }
$userNameFilter = New-Object VMware.Hv.QueryFilterEquals -Property @{ 'memberName' = 'base.name'; 'value' = $user }
$treeList = @()
@@ -668,7 +667,7 @@ function Connect-HVEvent {
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
$DbPassword = $null,
[SecureString]$DbPassword = $null,
[Parameter(Mandatory = $false)]
$HvServer = $null,
@@ -705,12 +704,10 @@ function Connect-HVEvent {
if (!$dbPassword) { $dbPassword = Read-Host 'Database Password for' $dbUserName@$dbServer -AsSecureString }
if ($dbType -eq "SQLSERVER") {
if ($dbPassword.GetType().name -eq 'String'){
$password = ConvertTo-SecureString $dbPassword -AsPlainText -Force
} elseif ($dbPassword.GetType().name -eq 'SecureString') {
if ($dbPassword.GetType().name -eq 'SecureString') {
$password = $dbPassword
} else {
Write-Error "Unsupported type recieved for dbPassword: [$dbPassword]. dbpassword should either be String or SecureString type. "
Write-Error "Unsupported type recieved for dbPassword: [$dbPassword]. dbpassword should SecureString type."
break
}
$connectionString = "Data Source=$dbServer, $dbPort; Initial Catalog=$dbName;"
@@ -1117,10 +1114,7 @@ function Get-HVFarm {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -1231,10 +1225,7 @@ function Get-HVFarmSummary {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -1337,7 +1328,7 @@ function Find-HVFarm {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$farmList = $queryResults.results | where $scriptBlock
$farmList = $queryResults.results | Where-Object $scriptBlock
}
Return $farmList
}
@@ -1419,10 +1410,7 @@ function Get-HVPool {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -1558,10 +1546,7 @@ function Get-HVPoolSummary {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -1675,7 +1660,7 @@ function Find-HVPool {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$poolList = $queryResults.results | where $scriptBlock
$poolList = $queryResults.results | Where-Object $scriptBlock
}
Return $poolList
}
@@ -1918,8 +1903,7 @@ function Get-HVQueryResult {
PowerShell Version : 5.0
#>
[CmdletBinding(SupportsShouldProcess = $true,
ConfirmImpact = 'High')]
[CmdletBinding()]
param(
[Parameter(Position = 0,Mandatory = $true)]
[ValidateSet('ADUserOrGroupSummaryView','ApplicationIconInfo','ApplicationInfo','DesktopSummaryView',
@@ -2835,11 +2819,12 @@ function New-HVFarm {
$farmSpecObj.ManualFarmSpec = $FarmManualFarmSpec
}
# Please uncomment below code, if you want to save the json file
<#
If ($DebugPreference -ne 'SilentlyContinue') {
$myDebug = convertto-json -InputObject $farmSpecObj -depth 12
$myDebug | out-file -filepath c:\temp\copiedfarm.json
#>
$DebugOutput = "c:\temp\copiedfarm.json"
$myDebug | Out-File -filepath $DebugOutput
Write-Debug "Output Farm Spec to $DebugOutput."
}
if (!$confirmFlag -OR $pscmdlet.ShouldProcess($farmSpecObj.data.name)) {
$Id = $farm_service_helper.Farm_Create($services, $farmSpecObj)
@@ -3139,7 +3124,7 @@ function Get-HVFarmCustomizationSetting {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$instantCloneEngineDomainAdministrator = $insDomainAdministrators | Where $scriptBlock
$instantCloneEngineDomainAdministrator = $insDomainAdministrators | Where-Object $scriptBlock
If ($null -ne $instantCloneEngineDomainAdministrator) {
$instantCloneEngineDomainAdministrator = $instantCloneEngineDomainAdministrator[0].id
} elseif ($null -ne $insDomainAdministrators) {
@@ -3167,7 +3152,7 @@ function Get-HVFarmCustomizationSetting {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$ViewComposerDomainAdministratorID = $lcDomainAdministrators | Where $scriptBlock
$ViewComposerDomainAdministratorID = $lcDomainAdministrators | Where-Object $scriptBlock
if ($null -ne $ViewComposerDomainAdministratorID) {
$ViewComposerDomainAdministratorID = $ViewComposerDomainAdministratorID[0].id
} elseif ($null -ne $lcDomainAdministrators) {
@@ -5108,7 +5093,7 @@ function Get-HVHostOrClusterID {
if ($hoctn.container) {
foreach ($node in $hoctn.treeContainer.children) {
$id = Get-HVHostOrClusterID $node
if ($id -ne $null) {
if ($null -ne $id) {
return $id
}
}
@@ -5146,7 +5131,7 @@ function Get-HVResourcePoolID {
}
foreach ($child in $rpi.children) {
$id = Get-HVResourcePoolID $child
if ($id -ne $null) {
if ($null -ne $id) {
return $id
}
}
@@ -5191,7 +5176,7 @@ function Get-HVAccessGroupID {
}
foreach ($child in $element.children) {
$id = Get-HVAccessGroupID $child
if ($id -ne $null) {
if ($null -ne $id) {
return $id
}
}
@@ -5364,7 +5349,7 @@ function Get-HVPoolCustomizationSetting {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$instantCloneEngineDomainAdministrator = $insDomainAdministrators | Where $scriptBlock
$instantCloneEngineDomainAdministrator = $insDomainAdministrators | Where-Object $scriptBlock
If ($null -ne $instantCloneEngineDomainAdministrator) {
$instantCloneEngineDomainAdministrator = $instantCloneEngineDomainAdministrator[0].id
} elseif ($null -ne $insDomainAdministrators) {
@@ -5394,7 +5379,7 @@ function Get-HVPoolCustomizationSetting {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$ViewComposerDomainAdministratorID = $lcDomainAdministrators | Where $scriptBlock
$ViewComposerDomainAdministratorID = $lcDomainAdministrators | Where-Object $scriptBlock
If ($null -ne $ViewComposerDomainAdministratorID) {
$ViewComposerDomainAdministratorID = $ViewComposerDomainAdministratorID[0].id
} elseif ($null -ne $lcDomainAdministrators) {
@@ -5523,7 +5508,7 @@ function Test-HVPoolSpec {
if (! (($PoolObject.AutomatedDesktopSpec.UserAssignment.UserAssignment -eq "FLOATING") -or ($PoolObject.AutomatedDesktopSpec.UserAssignment.UserAssignment -eq "DEDICATED")) ) {
Throw "UserAssignment must be FLOATING or DEDICATED"
}
if ($PoolObject.AutomatedDesktopSpec.ProvisioningType -eq $null) {
if ($null -eq $PoolObject.AutomatedDesktopSpec.ProvisioningType) {
Throw "Pool Provisioning type is empty, need to be configured"
}
$provisionTypeArray = @('VIRTUAL_CENTER', 'VIEW_COMPOSER', 'INSTANT_CLONE_ENGINE')
@@ -7441,7 +7426,7 @@ function Find-HVMachine {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$machineList += $queryResults.results | where $scriptBlock
$machineList += $queryResults.results | Where-Object $scriptBlock
$GetNext = $true
} while ($queryResults.remainingCount -gt 0)
$query_service_helper.QueryService_Delete($services, $queryResults.id)
@@ -7514,10 +7499,7 @@ function Get-HVMachine {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -7637,10 +7619,7 @@ function Get-HVMachineSummary {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -7915,7 +7894,7 @@ function Get-DataStoreName {
)
$dataStoresObj = @()
$entityId = New-Object VMware.Hv.EntityId
$datastores | % {
$datastores | ForEach-Object {
$entityId.Id = $_.datastore.Id
$dataStoresObj += , (New-Object PsObject -Property @{
datastore = Get-HVInternalName -EntityId $entityId;
@@ -7958,10 +7937,7 @@ function Get-HVInternalName {
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
@@ -8004,15 +7980,15 @@ function Get-HVInternalName {
return $Info.Base.Username
}
'BaseImageVm' {
$info = $services.BaseImageVm.BaseImageVm_List($VcId) | where { $_.id.id -eq $EntityId.id }
$info = $services.BaseImageVm.BaseImageVm_List($VcId) | Where-Object { $_.id.id -eq $EntityId.id }
return $info.name
}
'BaseImageSnapshot' {
$info = $services.BaseImageSnapshot.BaseImageSnapshot_List($BaseImageVmId) | where { $_.id.id -eq $EntityId.id }
$info = $services.BaseImageSnapshot.BaseImageSnapshot_List($BaseImageVmId) | Where-Object { $_.id.id -eq $EntityId.id }
return $info.name
}
'VmTemplate' {
$info = $services.VmTemplate.VmTemplate_List($VcId) | where { $_.id.id -eq $EntityId.id }
$info = $services.VmTemplate.VmTemplate_List($VcId) | Where-Object { $_.id.id -eq $EntityId.id }
return $info.name
}
'ViewComposerDomainAdministrator' {
@@ -8045,10 +8021,7 @@ function Get-HVInternalName {
function Get-UserInfo {
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidatePattern("^.+?[@\\].+?$")]
@@ -8370,10 +8343,7 @@ function Get-HVEntitlement {
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
[ValidatePattern("^.+?[@\\].+?$")]
@@ -8438,7 +8408,7 @@ function Get-HVEntitlement {
}
$AndFilter = Get-HVQueryFilter -And -Filters $AndFilter
$results = (Get-HVQueryResult -EntityType EntitledUserOrGroupLocalSummaryView -Filter $AndFilter -HvServer $HvServer)
$results = $results | where {$_.localData.desktops -ne $null}
$results = $results | Where-Object {$null -ne $_.localData.desktops}
}
"Application" {
if ($ResourceName) {
@@ -8452,7 +8422,7 @@ function Get-HVEntitlement {
}
$AndFilter = Get-HVQueryFilter -And -Filters $AndFilter
$results = (Get-HVQueryResult -EntityType EntitledUserOrGroupLocalSummaryView -Filter $AndFilter -HvServer $HvServer)
$results = $results | where {$_.localData.applications -ne $null}
$results = $results | Where-Object {$null -ne $_.localData.applications}
}
"URLRedirection" {
$localFilter = @()
@@ -8473,11 +8443,11 @@ function Get-HVEntitlement {
}
$localFilter = Get-HVQueryFilter -And -Filters $localFilter
$localResults = Get-HVQueryResult -EntityType EntitledUserOrGroupLocalSummaryView -Filter $localFilter -HvServer $HvServer
$results += ($localResults | where {$_.localData.urlRedirectionSettings -ne $null})
$results += ($localResults | Where-Object {$null -ne $_.localData.urlRedirectionSettings})
if ($cpaEnabled) {
$globalFilter = Get-HVQueryFilter -And -Filters $globalFilter
$globalResults = Get-HVQueryResult -EntityType EntitledUserOrGroupGlobalSummaryView -Filter $globalFilter -HvServer $HvServer
$globalResults = $globalResults | where {$_.globalData.urlRedirectionSettings -ne $null}
$globalResults = $globalResults | Where-Object {$null -ne $_.globalData.urlRedirectionSettings}
$results += $globalResults
}
}
@@ -8497,7 +8467,7 @@ function Get-HVEntitlement {
}
$AndFilter = Get-HVQueryFilter -And -Filters $AndFilter
$results = (Get-HVQueryResult -EntityType EntitledUserOrGroupGlobalSummaryView -Filter $AndFilter -HvServer $HvServer)
$results = $results| where {$_.globalData.globalApplicationEntitlements -ne $null}
$results = $results| Where-Object {$null -ne $_.globalData.globalApplicationEntitlements}
}
"GlobalEntitlement" {
if (! $cpaEnabled) {
@@ -8515,7 +8485,7 @@ function Get-HVEntitlement {
}
$AndFilter = Get-HVQueryFilter -And -Filters $AndFilter
$results = (Get-HVQueryResult -EntityType EntitledUserOrGroupGlobalSummaryView -Filter $AndFilter -HvServer $HvServer)
$results = $results | where {$_.globalData.globalEntitlements -ne $null}
$results = $results | Where-Object {$null -ne $_.globalData.globalEntitlements}
}
}
if (! $results) {
@@ -9213,7 +9183,7 @@ function Find-HVGlobalEntitlement {
}
$whereClause = [string]::Join(' -and ', $strFilterSet)
$scriptBlock = [Scriptblock]::Create($whereClause)
$GeList = $queryResults.results | where $scriptBlock
$GeList = $queryResults.results | Where-Object $scriptBlock
}
Return $GeList
}
@@ -9257,10 +9227,7 @@ function Get-HVGlobalEntitlement {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
@@ -9613,10 +9580,7 @@ The get-hvglobalsession gets all local session by using view API service object(
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -9755,6 +9719,7 @@ function Set-HVApplicationIcon {
break
}
If ($Force -or $PSCmdlet.ShouldProcess($ApplicationName)) {
$ApplicationIconHelper = New-Object VMware.Hv.ApplicationIconService
try {
$ApplicationIconId = $ApplicationIconHelper.ApplicationIcon_CreateAndAssociate($services, $spec)
@@ -9773,6 +9738,7 @@ function Set-HVApplicationIcon {
}
Write-Host "Successfully associated customized icon for Application:[$ApplicationName]."
}
}
end {
[System.gc]::collect()
@@ -9860,6 +9826,8 @@ Function Remove-HVApplicationIcon {
break
}
if ($Force -or $PSCmdlet.ShouldProcess($ApplicationName)) {
try {
$ApplicationIconHelper.ApplicationIcon_RemoveAssociations($services, $brokerIcon, @($appInfo.Id))
} catch {
@@ -9867,6 +9835,8 @@ Function Remove-HVApplicationIcon {
break
}
Write-Host "Successfully removed customized icon association for Application:[$ApplicationName]."
}
}
end {
@@ -9903,10 +9873,7 @@ function Get-HVGlobalSettings {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -10252,10 +10219,16 @@ function Set-HVGlobalSettings {
$updates += Get-MapEntry -key 'securityData.enableIPSecForSecurityServerPairing' -Value $enableIPSecForSecurityServerPairing
}
if ($Force -or $PSCmdlet.ShouldProcess($HVServer.Name)) {
$global_settings_helper = New-Object VMware.Hv.GlobalSettingsService
$global_settings_helper.GlobalSettings_Update($services,$updates)
Write-Host "Global settings updated."
}
}
end {
@@ -10263,19 +10236,19 @@ function Set-HVGlobalSettings {
}
}
function get-HVlocalsession {
function Get-HVLocalSession {
<#
.SYNOPSIS
Provides a list with all sessions on the local pod (works in CPA and non-CPA)
.DESCRIPTION
The get-hvlocalsession gets all local session by using view API service object(hvServer) of Connect-HVServer cmdlet.
The Get-HVLocalSession gets all local session by using view API service object(hvServer) of Connect-HVServer cmdlet.
.PARAMETER HvServer
View API service object of Connect-HVServer cmdlet.
.EXAMPLE
Get-hvlocalsession
Get-HVLocalSession
Get all local sessions
.NOTES
@@ -10289,10 +10262,7 @@ The get-hvlocalsession gets all local session by using view API service object(h
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
[Parameter(Mandatory = $false)]
@@ -10378,22 +10348,33 @@ function Reset-HVMachine {
$HvServer = $null
)
Begin {
$services = Get-ViewAPIService -hvServer $hvServer
if ($null -eq $services) {
Write-Error "Could not retrieve ViewApi services from connection object"
break
}
$machineList = Find-HVMachine -Param $PSBoundParameters
if (!$machineList) {
Write-Host "Reset-HVMachine: No Virtual Machine(s) Found with given search parameters"
break
}
}
Process {
if ($Force -or $PSCmdlet.ShouldProcess($MachineName)) {
foreach ($machine in $machinelist){
$services.machine.Machine_ResetMachines($machine.id)
}
}
}
End {
[System.gc]::collect()
}
}
function Remove-HVMachine {
<#
.Synopsis
@@ -10450,12 +10431,13 @@ function Remove-HVMachine {
$MachineNames,
[Parameter(Mandatory = $false)]
[switch]$DeleteFromDisk = $true,
[switch]$DeleteFromDisk,
[Parameter(Mandatory = $false)]
$HVServer = $null
)
Begin {
#Connect to HV Server
$services = Get-ViewAPIService -HVServer $HVServer
@@ -10470,7 +10452,8 @@ $queryService = New-Object 'Vmware.Hv.QueryServiceService'
$queryDefinition = New-Object 'Vmware.Hv.QueryDefinition'
#Query Filter
$queryDefinition.queryEntityType = 'MachineNamesView'
}
Process {
#Create Filter Set so we can populate it with QueryFilterEquals data
[VMware.Hv.queryfilter[]]$filterSet = @()
foreach($machine in $machineNames){
@@ -10481,7 +10464,6 @@ foreach($machine in $machineNames){
$queryFilterEquals.value = "$machine"
$filterSet += $queryFilterEquals
}
#Or Filter
@@ -10497,6 +10479,8 @@ $queryResults = $queryService.QueryService_Query($services,$queryDefinition)
#Assign VM Object to variable
$deleteThisMachine = $queryResults.Results
if ($Force -or $PSCmdlet.ShouldProcess($deleteThisMachine)) {
#Machine Service
$machineService = new-object VMware.Hv.MachineService
@@ -10505,12 +10489,13 @@ $deleteMachine = $machineService.Machine_GetInfos($services,$deleteThisMachine.I
#If sessions exist on the machines we are going to delete than force kill those sessions.
#The deleteMachines method will not work if there are any existing sessions so this step is very important.
write-host "Attemtping log off of machines"
write-host "Attempting log off of machines"
if($deleteMachine.base.session.id){
$trys = 0
do{
foreach($session in $deleteMachine.base.session){
$sessions = $null
@@ -10521,13 +10506,12 @@ $trys = 0
try{
write-host "`n"
write-host "Attemtping log off of machines"
write-host "Attempting log off of machines"
write-host "`n"
$logOffSession = new-object 'VMware.Hv.SessionService'
$logOffSession.Session_LogoffSessionsForced($services,$sessions)
#Wait more for Sessions to end
Start-Sleep -Seconds 5
}
@@ -10567,10 +10551,12 @@ $deleteSpec.ArchivePersistentDisk = $false
#Delete the machines
if($DeleteFromDisk){write-host "Attempting to Delete:"}else{write-host "Attempting to remove from inventory:"}
Write-Output ($deleteMachine.base.Name -join "`n")
$bye = $machineService.Machine_DeleteMachines($services,$deleteMachine.id,$deleteSpec)
$machineService.Machine_DeleteMachines($services,$deleteMachine.id,$deleteSpec)
}
}
End {
[System.gc]::collect()
}
}
function Get-HVHealth {
@@ -10610,10 +10596,7 @@ function Get-HVHealth {
PowerShell Version : 5.0
#>
[CmdletBinding(
SupportsShouldProcess = $true,
ConfirmImpact = 'High'
)]
[CmdletBinding()]
param(
@@ -10772,7 +10755,7 @@ function remove-hvpodfederation {
[System.gc]::collect()
}
function get-hvpodfederation {
function Get-HVPodFederation {
<#
.Synopsis
Returns information about a Horizon View Pod Federation (Cloud Pod Architecture)
@@ -10785,7 +10768,7 @@ function get-hvpodfederation {
first element from global:DefaultHVServers would be considered in-place of hvServer
.EXAMPLE
get-hvpodfederation
Get-HVPodFederation
Returns information about a Horizon View Pod Federation
.NOTES
@@ -10801,7 +10784,7 @@ function get-hvpodfederation {
[CmdletBinding(
SupportsShouldProcess = $false,
ConfirmImpact = 'High'
ConfirmImpact = 'None'
)]
param(
@@ -11053,7 +11036,7 @@ function set-hvpodfederation {
$podservicehelper=$podservice.read($services)
$podservicehelper.getDatahelper().setdisplayname($name)
$podservice.update($services, $podservicehelper)
get-hvpodfederation
Get-HVPodFederation
[System.gc]::collect()
}
@@ -11480,7 +11463,6 @@ function New-HVHomeSite {
}
process {
$confirmFlag = Get-HVConfirmFlag -keys $PsBoundParameters.Keys
$groupinfo = Get-UserInfo -UserName $Group
$UserOrGroupName = $groupinfo.Name
$Domain = $groupinfo.Domain