<# Import-Module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1' New-PSDrive -Name SCCM-Drive -PSProvider "AdminUI.PS.Provider\CMSite" -Root "PNCRASCCM001.ccx.carecentrix.com" -Description "SCCM Site" #> # $DeviceCollection_Name = "Nabil - Test Collection" <# $DeviceCollection_Name = "All - Inventory - Supporting Infrastructure" $DeviceCollection_Name = "Stage 2. ADR - QA Servers" $DeviceCollection_Name = "Stage 3. ADR - PRD Servers - Set 2" $DeviceCollection_Name = "Stage 3. ADR - PRD Servers - Set 1" $DeviceCollection_Name = "Stage 1. ADR - DEV Servers - Set 1" #### $DeviceCollection_Name_ALL = "All - Inventory - Infrastructure Servers", "All - Inventory - Supporting Infrastructure", "All - Inventory - Database", "All - Inventory - Application Servers" #> <# CD sccm-drive: $DeviceCollection_MemberCount = Get-CMDeviceCollection -Name $DeviceCollection_Name | select Name,MemberCount $DeviceCollection_ServerNames = Get-CMCollectionMember -CollectionName $DeviceCollection_Name | select Name,IsClient #| Export-Csv "E:\SCCM-Files\SCCM-Scripts\Files\$DeviceCollection_Name.csv" -NoTypeInformation $ServerName = $DeviceCollection_ServerNames.Name $ServerName.count Set-Location c: #> #$DeviceCollection_Name = "" CD sccm-drive: $DeviceCollection_MemberCount = Get-CMDeviceCollection -Name $DeviceCollection_Name | select Name,MemberCount $DeviceCollection_ServerNames = Get-CMCollectionMember -CollectionName $DeviceCollection_Name | select Name,IsClient #| Export-Csv "E:\SCCM-Files\SCCM-Scripts\Files\$DeviceCollection_Name.csv" -NoTypeInformation $ServerName = $DeviceCollection_ServerNames.Name $ServerName.count Set-Location c: #$No_Client = $DeviceCollection_ServerNames | ? { $_.IsClient -eq $false } #$No_Client.count # Test-Connection -ComputerName $No_Client.name -Count 1 $Script:ALL_Patch_Servers = @() $Script:Temp = @() Function ALL_Patching_Servers { Param($Coll_Name) CD sccm-drive: $Script:Temp = Get-CMCollectionMember -CollectionName $Coll_Name #| select Name,IsClient $Temp | % { $Obj = New-Object -TypeName PSObject $Obj | Add-Member -MemberType NoteProperty -Name Server -Value $_.Name $Obj | Add-Member -MemberType NoteProperty -Name ClientInstalled -Value $_.IsClient $Obj | Add-Member -MemberType NoteProperty -Name CollectionName -Value $Coll_Name #$Obj | Add-Member -MemberType NoteProperty -Name CollectionMemberCount -Value {(Get-CMCollectionMember -Name $Coll_Name).MemberCount} $Obj $Script:ALL_Patch_Servers += $Obj }#end% }#endFunction #$DeviceCollection_Name_ALL | % { ALL_Patching_Servers -Coll_Name $_ } $DeviceCollection_Name | % { ALL_Patching_Servers -Coll_Name $_ | sort Server} Set-Location c: