Kuddel071089 9 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 Hallo zusammen, ich schreibe gerade eine kleines Script, um einen AD User anzulegen. Das anlegen an sich klappt auch. Jetzt möchte ich noch ein par abfragen einbauen, wie z.B. ob der User Internzugriff bekommen soll. Leider weiß ich nicht, wie ich das am besten umsetzten soll. Ich habs mit der IF-Schleife versucht, bin aber gescheitert .... Write-Host "Proxy-User" Write-Host "(1) Ja" Write-Host "(2) Nein" Write-Host "" $eingabe = Read-Host "Eingabe" if($eingabe 1) Add-ADGroupMember Proxy $User Es kommen noch weiter Abfragen bzgl. Gruppenberechtigungen hinzu. Wenn jmd eine bessere Idee hat, wie man das umsetzen kann, immer her damit ;-) Danke schonmal Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 Beim IF fehlt ein Operator. Bsp: if ($eingabe -eq 1) ... Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 8. Juli 2015 Autor Melden Teilen Geschrieben 8. Juli 2015 Beim IF fehlt ein Operator. Bsp: if ($eingabe -eq 1) ... Ah natürlich. Super danke. Jetzt geht es. Habe noch ein Problem: Am Anfang soll geprüft werden, ob der User bereits existiert, wenn ja soll man einen neuen User eingeben mit zb User-Anfangbuchstabe Vorname. Da es unter Powershell aber kein GOTO mehr gibt bin ich überfragt :start #User Namen angeben Write-Host "" $user = Read-Host "Anmeldename" #Prüfen ob User bereits vorhanden ist if (Get-ADUser -Filter {samAccountName -eq $user}) { Write-Host -ForegroundColor Red "Username ist bereits vergeben" } elseif (Get-ADUser -Filter {samAccountName -eq $user}) { sleep 5 } elseif (Get-ADUser -Filter {samAccountName -eq $user}) { goto start } else { Write-Host -ForegroundColor Green "Username ist noch frei" } Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 (bearbeitet) Per Parameter. Aufruf dann in der Art: CreateUser.ps1 -Inet true EDIT: Wozu brauchst du ein Goto? bearbeitet 8. Juli 2015 von Dukel Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 8. Juli 2015 Autor Melden Teilen Geschrieben 8. Juli 2015 Per Parameter. Aufruf dann in der Art: CreateUser.ps1 -Inet true EDIT: Wozu brauchst du ein Goto? Also wenn ich einen bereits vorhanden Usernamen eingebe, soll der Script wieder zum Start springen, damit ich einen neuen usernamen eingeben kann Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 Dafür gibt es Kontrollstrukturen. If/Else, Schleifen, Switch,... Goto braucht man nicht mehr. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 (bearbeitet) Ich habs mit der IF-Schleife versucht, bin aber gescheitert BTW: IF ist keine Schleife sondern eine Bedingung. Do until i = 1 to 100 'Dein code loop Das ist eine Schleife. ;) bearbeitet 8. Juli 2015 von Sunny61 Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 8. Juli 2015 Autor Melden Teilen Geschrieben 8. Juli 2015 Oke den Unterschied habe ich verstanden. Jetzt weiß ich aber immer noch nicht ^^ wie ich nach einem Check auf existenz eines user wieder zu meiner Ausgangsabfrage komme Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 8. Juli 2015 Melden Teilen Geschrieben 8. Juli 2015 Eine Möglichkeit: do $user = Read-Host "Anmeldename" if (Get-ADUser...) { write-host "User gibt's schon" } else { #hier User anlegen etc... $newuser = $true } Loop until $newuser Zitieren Link zu diesem Kommentar
Beste Lösung Kuddel071089 9 Geschrieben 9. Juli 2015 Autor Beste Lösung Melden Teilen Geschrieben 9. Juli 2015 habe es jetzt so gelöst #Prüfen ob User bereits vorhanden ist if (Get-ADUser -Filter {samAccountName -eq $username}) { Write-Host Write-Host -ForegroundColor Red "+++ Username ist bereits vergeben +++" Write-Host Get-ADUser -Filter {samAccountName -eq $username} -Properties SamAccountName, Name, Company, department | select SamAccountName, Name, Company, Department | fl Write-Host Write-Host -ForegroundColor Red "+++ Script wird neu gestartet +++" Sleep 5 Start-Process powershell.exe .\User_anlegen_0.1.ps1 break } else { Write-Host Write-Host -ForegroundColor Green "+++ Username ist noch frei +++" Sleep 2 } Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.