Benutzer mit den meisten Antworten
Abfrage über mehrere Domainen

Frage
-
Guten Morgen Zusammen,
ich habe mir ein Script geschrieben, welches die Gruppen eines Users ausliest und in diese Gruppen einen anderen User hinzufügt. Mein Problem ist nun, dass es zwar alle Grupen ausließt, allerdings den User nur in die Gruppen hinzufügt die in der gleichen Domain angelgt wurden in der ich mich vebunden habe. Jemand eine Idee, wie ich das hinbekomme, dass er alle Gruppen aus allen Domainen added?
Gruß
Karsten
Antworten
-
> Ok, da hab ich wohl in sämtliche Fettnäpfchen getreten die es gibt.
Oh da gibt es noch einige mehr. Du hast nur die kleinen erwischt. :)
Die QAD-Cmdlets gehören aber nicht dazu. Bleib ruhig dabei. Ich benutze keine Snapins da meine Scripte jederzeit auf jedem beliebigen Rechner der Umgebung laufen können sollen, ohne das man lange überlegen muss welches externe Modul gebraucht wird und erst noch Installationen nötig werden. Wenns mal zeitkritisch ist kann das sehr ärgerlich sein.
> welcher Befehlt muss ich in meiner ForEach-Schleife einbauen
Ganz so trivial ist es leider nicht. Ich habe jetzt leider keine Zeit dir ein komplettes Beispielscript zu erstellen, aber du musst für jede Domain am Anfag des Scripts Credentials hinterlegen und dich dann in der Schleife jeweils in die Domain verbinden, mit QAD also in der Art:
$cred1=get-credential Connect-QADService DOMAIN1.DE -credential $credA
Und dann den User zur Gruppe hinzufügen. Damit du dich pro Domäne nur einmal verbinden musst, solltest du die die Ausgabe der Gruppen des Quellusers allerdings nach Domänen sortieren.Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 11. August 2011 18:04
- Als Antwort markiert Denniver ReiningMVP, Moderator Montag, 15. August 2011 20:36
Alle Antworten
-
-
Ja, das wäre natürlich hilfreicher gewesen, sorry.
cls
$script:ErrorActionPreference
=
"silentlyContinue"
$user
= Read-Host ("Bitte geben Sie den User an, der ausgelesen werden soll!"
)
$global:sourceuser
= Get-QADUser -Name $user
$global:destuser
= Read-Host ("Bitte geben Sie den User an, der in die Gruppen geadded werden soll!"
)
$usergroup = $sourceuser.memberof | sort-object -Descending
foreach ($group in $usergroup
)
{
Add-QADGroupMember -Identity $group -Member $destuser |
Out-Null
}
-
Moin,
ah, die Quest-Tools. Nicht mein Bereich, eventuell weiß Denniver da mehr.
Was sagt denn die Hilfe zu den jeweiligen CMDLET?
In dem Fall "Get-Help Add-QADGroupMember -detailed".
(BTW: Es ist schlecht, am Anfang pauschal alle Fehlermeldungen auszuschalten und dann später nicht selbst darauf zu reagieren. Damit suchst Du Dir bei Fehlern einen Wolf.)
Grüße aus Berlin schickt Robert
MVP Exchange Server -
> Quest-Tools .... eventuell weiß Denniver da mehr.
ich benutze prinzipiell keine snapins sofern es sich vermeiden lässt.
Von der Logik her würde ich allerdings sagen, wenn dir QAD die Gruppenmitgliedschaften aus allen Domänen anzeigt, sollte sich auch auslesen lassen in welcher Domäne sich die jeweilige Gruppe befindet. Dann musst du dich für jede Gruppe einfach in die jeweilig ausgelesene Domäne verbinden und dann den User hinzufügen.
Im übrigen kann ich Robert nur beipflichten: zum Debuggen sind Fehlermeldungen wirklich außerordentlich hilfreich. ;-)
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
Ok, da hab ich wohl in sämtliche Fettnäpfchen getreten die es gibt.
Was die Questtolls betrifft, müssen die nicht verwendet werden, wenn Du ne bessere Idee bzw. Lösung hast, dann gerne. Ich hab in meinem Script das Problem, dass ich zwar verschieden DC´s auslesen kann, aber beim adden nicht die verschiedenen Domain. Sprich welcher Befehlt muss ich in meiner ForEach-Schleife einbauen um jeweils die eine und dann die andere Domain nutzen zu können?
Gruß und Danke
Karsten
-
> Ok, da hab ich wohl in sämtliche Fettnäpfchen getreten die es gibt.
Oh da gibt es noch einige mehr. Du hast nur die kleinen erwischt. :)
Die QAD-Cmdlets gehören aber nicht dazu. Bleib ruhig dabei. Ich benutze keine Snapins da meine Scripte jederzeit auf jedem beliebigen Rechner der Umgebung laufen können sollen, ohne das man lange überlegen muss welches externe Modul gebraucht wird und erst noch Installationen nötig werden. Wenns mal zeitkritisch ist kann das sehr ärgerlich sein.
> welcher Befehlt muss ich in meiner ForEach-Schleife einbauen
Ganz so trivial ist es leider nicht. Ich habe jetzt leider keine Zeit dir ein komplettes Beispielscript zu erstellen, aber du musst für jede Domain am Anfag des Scripts Credentials hinterlegen und dich dann in der Schleife jeweils in die Domain verbinden, mit QAD also in der Art:
$cred1=get-credential Connect-QADService DOMAIN1.DE -credential $credA
Und dann den User zur Gruppe hinzufügen. Damit du dich pro Domäne nur einmal verbinden musst, solltest du die die Ausgabe der Gruppen des Quellusers allerdings nach Domänen sortieren.Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Donnerstag, 11. August 2011 18:04
- Als Antwort markiert Denniver ReiningMVP, Moderator Montag, 15. August 2011 20:36