Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Need help with PS Script to add Computers to Groups based on Computer Description

$
0
0

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"}}



Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>