xpl0it
Goto Top

Netzwerkbenutzername für Anmeldescript auslesen ohne Domönenanmeldung (w2k3)

Mappen von Heimatverzeichnisen ohne Anmeldung an der AD

Hallo alle zusammen,

Ich suche eine Möglichkeit den Netzwerkbenutzernamen der aktuell unter Windows registriert ist auszulesen.
In den Umgebungsvariablen habe ich keinen entsprechenden Eintrag gefunden.

Umgebung:
W2k3 Server mit AD
Windows Client (XP/Vista/7)

Folgendes Szenario:
Wenn man sich nun gewöhnlich an der Domäne anmeldet, erhält man sein persönliches Heimatverzeichnis
welches im Benutzerprofil definiert wurde. Freigabename entspricht dem Benutzernamen + $.
Wenn man nun jedoch ohne Anmeldung an der Domäne auf seine Daten zugreifen möchte geht das über
\\server\username$
Nach anmeldung hat man dann auch die Rechte und kann wie gewohnt auf seine Daten zugreifen

wie kann ich nun den Netzwerkbenutzernamen auslesen und dann der Batch Datei übergeben.
um abhägig davon die Verzeichnise zu mappen.

Hatte bisher Samba im Einsatz, dort war es möglich per "\\server\home" das persönliche Verzeichnis zu mappen.

inhalt meiner logon.bat
if %netuser% == user1 goto user1

net use v: \\server\%netuser%$ /persistent:no
net use w: \\server\tausch /persistent:no
net use x: \\server\ user1$\Musik /persistent:no
net use y: \\server\ user1$\Videos /persistent:no
net use z: \\server\ user1$\Downloads /persistent:no

exit

:user1
net use y: \\server\%netuser%$ /persistent:no
net use z: \\server\tausch /persistent:no

Content-Key: 139792

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

Printed on: April 18, 2024 at 12:04 o'clock

Member: bastla
bastla Apr 03, 2010 at 12:50:21 (UTC)
Goto Top
Hallo Xpl0iT und willkommen im Forum!

Wenn ich Dich richtig verstehe, suchst Du die Systemvariable "%username%".

Welche weiteren derartigen Variablen es gibt, kannst Du mit
set
herausfinden.

Grüße
bastla
Member: Xpl0iT
Xpl0iT Apr 03, 2010 at 23:05:12 (UTC)
Goto Top
Hallo bastla,

%username% sowie set sind mir natürlich nicht fremd.

Die Variable liefert mir aber nur den lokalen Benutzernamen. Ich brauche jedoch
den Benutzernamen der am Netzwerk angemeldet wird.

Ich kann mich doch lokal als Administrator anmelden, aber als user1 im Netz auf die
Daten zugreifen.

gruß
Xpl0iT
Member: bastla
bastla Apr 03, 2010 at 23:19:32 (UTC)
Goto Top
Hallo Xpl0iT!
Ich brauche jedoch den Benutzernamen der am Netzwerk angemeldet wird.
Den musst Du ja ohnehin eingeben - dann könntest Du das ja eigentlich auch im Batch machen, also schematisch etwa so:
set /p "netuser=Benutzernamen eingeben: "  
net use v: \\server\%netuser%$ /p:no /user:%netuser%
Grüße
bastla
Member: Xpl0iT
Xpl0iT Apr 03, 2010 at 23:43:53 (UTC)
Goto Top
Hallo bastla,

Die Lösung hatte ich zwischenzeitlich bereits, finde ich jedoch eher suboptimal.
Die Batchdatei liegt im netlogon Verzeichnis, wenn eine Anmeldung erwünscht ist wird diese dann manuell oder per VBS script/verknüpfung aufgerufen.

Dabei wird bereits der Netzwerk Benutzername abgefragt. Wenn man nun die Batchdatei ausführt, wird also der Benutzername ein zweites mal abgefragt.

Gibt es evtl. eine Möglichkeit jedem Benutzer die Netzwerkfreigabe "heimat" zuzuweisen, wo jedoch nur die eigenen Daten sind.
Was samba kann, sollte Windwos doch schon lange können.


gruß
Xpl0iT
Member: bastla
bastla Apr 04, 2010 at 00:07:46 (UTC)
Goto Top
Hallo Xpl0iT!

Wenn Du den Benutzernamen schon hast, kannst Du den Batch ja mit Parameterübergabe aufrufen - etwa:
MapDrives.bat "Benutzername"
Im Batch kommt der Parameter dann als %1 an - daher zB
set "netuser=%~1"
Gibt es evtl. eine Möglichkeit jedem Benutzer die Netzwerkfreigabe "heimat" zuzuweisen, wo jedoch nur die eigenen Daten sind.
Eigentlich ist es ohnehin nicht sehr sinnvoll, für jeden Benutzer eine eigene Freigabe zu erstellen - gib doch einfach den Ordner "heimat" am Server für alle User frei und lege die Benutzerordner in diesem Ordner (mit Rechten nur für den jeweiligen User) an - dann sind zwar alle Benutzerordner sichtbar, der Zugriff ist aber entsprechend eingeschränkt ...

Grüße
bastla
Member: Xpl0iT
Xpl0iT Apr 04, 2010 at 00:29:25 (UTC)
Goto Top
Hallo bastla,

hast mich glaub gerade etwas missverstanden, den Benutzernamen habe nicht ich sondern Windows irgendwo abgelegt, sobald ich die Batchdatei ausführe.
Hat man evtl in cmd, ähnlich wie in Linux, die Möglichkeit sich die Rechte der ACL anzeigen zu lassen? so könnte ich ggf. Überprüfen ob Recht vorhanden ist, dann demenrsprechend Mappen.

gruß
Xpl0iT
Member: bastla
bastla Apr 06, 2010 at 20:41:51 (UTC)
Goto Top
Hallo XplOiT!

Da Du aber bereits oben angemerkt hast:
Dabei wird bereits der Netzwerk Benutzername abgefragt
(anders ginge es ja ohnehin nicht), war meine Überlegung, dass dann eben die Variable %netuser% gesetzt werden (oder eigentlich auch gleich das Laufwerksmapping, ev nach einer Abfrage, ob gewünscht, erfolgen) könnte ...
Für das Auslesen der ACL gibt es "cacls" oder dessen Weiterentwicklungen mit "x" oder "i" vorneweg, sowie externe Tools, wie etwa "SetACL" oder, etwas spezieller, "AccessChk" ...

Grüße
bastla