Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
magheinz

AD-Replikation zu langsam? SID not found

Empfohlene Beiträge

Hallo,

 

eventuell gibts ja einen Trick.

Wir haben 3 Domaincontroller.

Lege ich mit New-ADGroup eine neue Gruppe an und möchte diese dann direkt mit Add-ADGroupmember bearbeiten schaffe ich das wenn ich per Parameter (-Server) sicherstelle das beide Befehle auf den gleichen Domaincontroller gehen.

Wenn ich jetzt aber ein Commandlet habe welches den Server-Parameter nicht kennt, z.B. von einem Drittanbieter, wie stelle ich dann sicher das ich in keinen Fehler laufe?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ist das wirklich eine Standardfunktion?

es geht um so commandelt wie Set-ACL. Also commandlets die auf AD-Objekte zugreifen aber nicht direkt die AD manipulieren.

Wenn ich jetzt folgendes mache, achtung Pseudocode, keine korrekte syntax:

1. new-adgroup -server dc01 -identity gruppe

2. add-addgroupmember -server dc01 -identiy gruppe -members foo

3. Set-ACL gruppe folder permission

Dann findet Set-ACL die Gruppe nicht. Packe ich ein Sleep 120 davor funktioniert es.

Das kann aber doch nicht die Lösung sein...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ist das wirklich eine Standardfunktion?

 

.... hmmm ... jein ...  aber wenn ich schon eine Funktion oder ein Tool anbiete, die/das für die AD-Administration gedacht ist, sollte ich wenigstens die Möglichkeit vorsehen, es auch auf einen spezifischen Domain-Controller zu schicken.  .... denke ich.   ;)

 

es geht um so commandelt wie Set-ACL. Also commandlets die auf AD-Objekte zugreifen aber nicht direkt die AD manipulieren.

 

Naja, Set-ACL ist ja nicht explizit für's AD gemacht - es kann eben auch dafür genutzt werden, weil im AD auch ACLs gibt, die man manipulieren kann.

 

 

Wenn ich jetzt folgendes mache, achtung Pseudocode, keine korrekte syntax:

1. new-adgroup -server dc01 -identity gruppe

2. add-addgroupmember -server dc01 -identiy gruppe -members foo

3. Set-ACL gruppe folder permission

Dann findet Set-ACL die Gruppe nicht. Packe ich ein Sleep 120 davor funktioniert es.

Das kann aber doch nicht die Lösung sein...

 

Dann könntest Du eben den letzten Befehl so umstellen:

Invoke-Command -ComputerName dc01 -ScriptBlock {Set-ACL gruppe folder permission}

...  Packe ich ein Sleep 120 davor funktioniert es.

Das kann aber doch nicht die Lösung sein...

 

Manchmal ist es aber eben doch einfacher, mit dem "Status Quo" zu leben. Ist es wirklich so dringend, dass es nicht 2 Minuten warten kann? Du musst ja nicht zwingend vorm Monitor darauf warten, dass die 2 Minuten vergehen - das Script läuft auch ohne Deine "Aufsicht" bis zum Schluss durch, denke ich.   :D  ;)  :cool:  :thumb1:  :wink2:

bearbeitet von BOfH_666

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Problem würde ich es auch nicht nennen. Ich hab einfach nur das best-practise gesucht.

Ich werde ein try-catch drumherumbauen und gut ist.

An sich sind die 2 Minuten auch kein Problem. Das script läuft über den Aufgabenplaner...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

der sucht aber oft schneller als die Replikation ist. direkt hintereinander new-adgroup umd add-adgroupmember bringt oft SID not found.

ich packs im eine schleife mit try and catch bis es klappt.nicht

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Moin,

 

da wir gerade dieselbe Situation haben, haben wir es so gelöst:

While ((!(Get-ADGroup -Filter "name -eq '$GroupRead'")) -or (!(Get-ADGroup -Filter "name -eq '$GroupModify'"))){
   Start-Sleep -s 1
}

Gruß, Nils

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Moin,

 

nein, das Problem hat man in solchen Fällen oft. Das erste Mal bin ich vor über fünfzehn Jahren darüber gestolpert. Lästig dabei ist, dass man es in Testumgebungen mit nur einem DC meist nicht bemerkt, sondern erst, wenn es mehrere DCs gibt.

 

Gruß, Nils

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

...und manchmal erst dann, wenn man tatsächlich einen DC "vor Ort" hat :) Ja, da hilft nur "explizit mit dem PDC reden", dafür ist der dann immer noch gut.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Stimmt. Aber genau für solche Fälle bietet sich ja das "Verpacken" des eigentlichen Befehls in ein "Invoke-Command" an. Dem kannst Du explizit mitgeben, auf welchem Rechner/Server es ausgeführt werden soll. Hattest Du das schon mal probiert?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Stimmt. Aber genau für solche Fälle bietet sich ja das "Verpacken" des eigentlichen Befehls in ein "Invoke-Command" an. Dem kannst Du explizit mitgeben, auf welchem Rechner/Server es ausgeführt werden soll. Hattest Du das schon mal probiert?

Nein, dafür noch nicht.

greift get-.adgroup wenn es auf einem DC läuft immer auf diesen zu?

Durch deinen Vorschlag sorge ich ja nur dafür "wo das script läuft"tttt. Ist das gleichbedeutend mit "wen das script fragt"?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×