mli-adm
Goto Top

Logon Batch Frage...

Hallo,

ich schreibe gerade ein Logon Skript, welches global für alle unsere Standorte gültig sein soll.
Wenn ich nun zum mounten der Homeverzeichnisse kommen, stoße ich auf folgendes Problem

Der (gekürzte aber wesentliche) Teil sieht so aus:
ifmember SystemManagement
if errorlevel = 1 (
net use u: \\AP\DFS\User\%username%	>nul
)


Leider sind die Homeverzeichnisse nicht so wie der %username% benannt, sondern wie die Initials aus dem Exchange!
Kann ich diese Variable auch irgendwie abfragen? Beispiel zum verdeutlichen:

%username% = marco.li......
Homeverzeichnis (Initials) = MLI


Danke im Voraus.
MLI

Content-Key: 61844

Url: https://administrator.de/contentid/61844

Printed on: April 24, 2024 at 22:04 o'clock

Member: bastla
bastla Jun 20, 2007 at 10:08:03 (UTC)
Goto Top
Hallo mli-adm und willkommen im Forum!

Ich verkneife mir (allerdings, wie man sieht, nicht heftig genug) die Frage, wer diese grandiose Idee hatte ...

Ich frage auch (fast) nicht, warum das Homedirectory eines Users abhängig von einer Gruppenmitgliedschaft gemappt, und nicht einfach als Basisordner im Konto hinterlegt oder wenigstens über ein Logon-Script einer entsprechenden OU zugewiesen wird.

Mein Vorschlag wäre, zumindest für das Auslesen der Initialen, ein VB-Script etwa folgender Art zu verwenden (ungetestet, da hier kein Exchange verfügbar):
'GetInitials.vbs  
Set objSysInfo = CreateObject("ADSystemInfo")  
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)  
WScript.Echo objUser.Initials
Zum Testen einfach das Script per Doppelklick starten - sollte die Initialen anzeigen.

Einzusetzen wäre das Script dann etwa so:
set UserInitials=
for /f "delims=" %%i in ('cscript //nologo \\Server\Share\GetInitials.vbs') do set "UserInitials=%%i"  
if not defined UserInitials (echo Homeverzeichnis kann nicht zugeordnet werden! & pause & goto :eof)
ifmember SystemManagement || net use u: \\AP\DFS\User\%UserInitials% >nul
Die Fehlermeldung nach "if not defined UserInitials" ist natürlich nur exemplarisch gemeint. Die "ifmember"-Abfrage habe ich (mit etwas Überwindung) analog zu Deinem Beispiel eingefügt.

Grüße
bastla
Member: mli-adm
mli-adm Jun 21, 2007 at 07:43:10 (UTC)
Goto Top
Danke bastla, das auslesen der Initials funktioniert einwandfrei! Das das Homeverzeichnis abhängig vom Systemmanagement war ein versehen!

Wenn ich nun aber mein logon.bat habe in der auch dieser Teil vorhanden ist:

set UserInitials=
for /f "delims=" %%i in ('cscript //nologo \\Server\Share\GetInitials.vbs') do set "UserInitials=%%i"
if not defined UserInitials (echo Homeverzeichnis kann nicht zugeordnet werden! & pause & goto :eof)
net use u: \\AP\DFS\User\%UserInitials% >nul


Funktioniert das leider nicht. Wie würdest denn so eine Umsetzung vornehmen? Wir haben halt 4 verschiedene Standort nach denen unterschieden werden muss und beim Hauptsitz nochmals nach Abteilungen.


Danke und Gruß
Marco
Member: bastla
bastla Jun 21, 2007 at 11:12:19 (UTC)
Goto Top
Hallo mli-adm!

Funktioniert das leider nicht.
... bedeutet was genau?
... 4 verschiedene Standort nach denen unterschieden werden muss und beim Hauptsitz nochmals nach Abteilungen ...
An sich sind die Organisationseinheiten (OU) dafür gedacht, solche Strukturen abzubilden, und da Du jeder OU eigene Gruppenrichtlinien zuordnen kannst, könntest Du somit auch je nach Standort/Abteilung unterschiedliche Logon-Scripts festlegen.

Grüße
bastla