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-ID: 139792

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

bastla
bastla 03.04.2010 um 14:50:21 Uhr
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
Xpl0iT
Xpl0iT 04.04.2010 um 01:05:12 Uhr
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
bastla
bastla 04.04.2010 um 01:19:32 Uhr
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
Xpl0iT
Xpl0iT 04.04.2010 um 01:43:53 Uhr
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
bastla
bastla 04.04.2010 um 02:07:46 Uhr
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
Xpl0iT
Xpl0iT 04.04.2010 um 02:29:25 Uhr
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
bastla
bastla 06.04.2010 um 22:41:51 Uhr
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