Hi all,
I'm looking for an alternative way to write my script to add any computer matching a filter, then adding a computer based on it's description, to a security group. All the computers that start with WS are being filtered. I'd like to grab the AD description field and then add that computer to a AD group based on its description. Heres what I have so far and it works, but the if statement nesting is nasty. Thanks for the help in advance!
Import-Module ActiveDirectory Add-PSSnapin Quest.ActiveRoles.ADManagement -EA SilentlyContinue $ErrorActionPreference="SilentlyContinue" $workstations = Get-ADComputer -filter {(Name -like "WS*")} -Properties Description | Select-Object Name, Description | Sort-Object Name foreach ($workstation in $workstations){ if ($workstation.Description -like "5ICU-RMC-5"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.5ICU.RMC"} elseif ($workstation.Description -like "MHU-Adlt-RMC2"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MHU.Adult.400Bldg"} elseif ($workstation.Description -like "MHU-BSU-RMC2"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MHU.BSU.400Bldg"} elseif ($workstation.Description -like "MHU-GSU-RMC2"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MHU.GSU.400Bldg"} elseif ($workstation.Description -like "MHU-ChAdlt-RMC2"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MHU.Child.400Bldg"} elseif ($workstation.Description -like "MHU-Adlt-RMC2"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MHU.Adult.400Bldg"} elseif ($workstation.Description -like "Sound-400-302"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.SoundHospitalist.400Bldg"} elseif ($workstation.Description -like "IS-RMC"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.IS.400Bldg"} elseif ($workstation.Description -like "NSGAdm-400-305"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.NursingAdmin.400Bldg"} elseif ($workstation.Description -like "BA-IS-400-407"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.BusinessAnalytics.400Bldg"} elseif ($workstation.Description -like "RMG-NS-400-402"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.NeuroSurgery.400Bldg"} elseif ($workstation.Description -like "RMG-PMR-400-400"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.PMR.400Bldg"} elseif ($workstation.Description -like "EKG-400-500"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.EKG.ProcTesting.400Bldg"} elseif ($workstation.Description -like "5Rehab-400-5"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.5Rehab.400Bldg"} elseif ($workstation.Description -like "IS-Info-401-StB"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.Informatics.401Bldg"} elseif ($workstation.Description -like "MedRec-401-Bsmt"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.MedRec.401Bldg"} elseif ($workstation.Description -like "WrdPrc-401-Bsmt"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.WordProc.401Bldg"} elseif ($workstation.Description -like "Wound-401-Bsmt"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.WoundCtr.401Bldg"} elseif ($workstation.Description -like "Ambulance-Atr"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.Ambulance.Atr"} elseif ($workstation.Description -like "RehabOP-Atr"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RehabSvcsOP.Atr"} elseif ($workstation.Description -like "RMG-CorpH-Atr"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.CorpHealth.Atr"} elseif ($workstation.Description -like "RMG-Pul-500-100"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.PulmCare.500Bldg"} elseif ($workstation.Description -like "RMG-PSY-500-200"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.Psych.500Bldg"} elseif ($workstation.Description -like "RMG-Nro-500-300"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.Neurology.500Bldg"} elseif ($workstation.Description -like "RMG-Pul-500-300"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.Rheumotology.500Bldg"} elseif ($workstation.Description -like "RMG-Pul-500-100"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.PulmCare.500Bldg"} elseif ($workstation.Description -like "AIC-RMC-500"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.AIC.500Bldg"} elseif ($workstation.Description -like "Cardiac-500-400"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.CardiacRehab.500Bldg"} elseif ($workstation.Description -like "RMG-Card-500"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.Cardio.500Bldg"} elseif ($workstation.Description -like "RMG-CardV-500"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.RMG.CardioV.500Bldg"} elseif ($workstation.Description -like "EKG-500-Bsmt"){Add-ADPrincipalGroupMembership -identity ($workstation.name + "$") -memberof "SG.EKG.500Bldg"}}