Saturday, March 28, 2015

Umgib mich - Variablen für AD-Pfade


Hallo miteinander.

Wenn Ihr mit Computerstart- oder Anmeldeskripts arbeitet, verwendet Ihr darin bestimmt gelegentlich %computername% oder %userdomain% und ähnliches.

Die Herausforderung

Wir arbeiten häufig mit Trusts. Dabei ist dann natürlich %userdomain% nicht die Domäne des Computers. Also möchten wir zusätzliche Variablen %computerdomain% und %computerdnsdomain% erstellen.

Außerdem haben wir festgestellt, dass in unseren Skripts auch relativ häufig auf die AD-Objekte von Domäne, Computer oder Benutzer zugegriffen wird. Normalerweise holt man sich die Domäne aus RootDSE. Computer und Benutzer muss man aber im AD suchen. Und eine Suchanfrage erzeugt natürlich Last auf dem Domain Controller – besser wäre es, wenn ich also direkt binden kann. Dazu brauche ich den Distinguished Name meiner Objekte.
Wenn ich diesen Distinguished Name als Umgebungsvariable bereitstelle, kann er beliebig verwendet werden, und niemand muss mehr danach suchen.

Konkret wollen wir folgende Variablen bereitstellen:
  • ComputerDomain: Der Netbios-Name der Computerdomäne
  • ComputerDNSDomain: Der FQDN der Computerdomäne
  • ComputerDomainDN: Der Distinguished Name der Computerdomäne
  • ComputerNameDN: Der Der Distinguished Name des Computerkontos
  • UserDomainDN: Der Distinguished Name der Benutzerdomäne
  • UserNameDN: Der Distinguished Name des Benutzerkontos
  • UserSID: Der Security Identifier des Benutzerkontos 
Die UserSID brauchen wir eigentlich nicht, aber wenn wir schon mal dabei sind :)