Benutzerabhängige Anmeldescripte

hallo, ich habe einen admin (ich) und einen benutzer (tochter) auf dem xp rechner eingerichtet.

nun möchte ich per anmeldescript diese bat-datei starten, wenn sie sich anmeldet…

ren %systemroot%\system32\drivers\etc\hosts hosts_orig
ren %systemroot%\system32\drivers\etc\hosts_users hosts

und diese, wenn ich mich anmelde…

ren %systemroot%\system32\drivers\etc\hosts hosts_users
ren %systemroot%\system32\drivers\etc\hosts_orig hosts

wie ihr euch ja denken könnt, sind in der hosts_users einige einschränkungen vermerkt…

beide bat-dateien stehen in %systemroot%\System32\GroupPolicy\User\Scripts\Logon

in der mmc unter konsolenstamm…\benutzerkonf\Windows Einstellungen\scripts habe ich unter logon die hosts_users.bat stehen, wenn ich mir die dateien anzeigen lasse, die in diesem gpo gespeichert sind, dann lande ich im o.g. ordner (grouppolicy…\logon)

trotzdem hat meine tochter nach der anmeldung zugriff auf die in der hosts-datei gesperrten seiten (127.0.0.1 www.blabla.de)

was mache ich falsch?

vielen dank an alle,

LG, Masl

EDIT:

Mittlerweile habe ich es über Autostart realisiert, da ich es mit startup/logon-script nicht hinbekommen habe. warum muss man denn per startup-script unbedingt eine freigabe erstellen, nur um ein logon-script laufen zu lassen (was ja un-be-dingt auf einer freigabe liegen muss, lt. internet)

warum kann ich kein verzeichnis c:\hosts-mgmt erstellen, in welches beide batch-dateien reinkommen und benutzerabhängig beim einloggen/anmelden ausgeführt werden (über logon script in den user-eigenschaften eben)?

die sache mit dem autostart hat jedoch einen kleinen unschönen haken (hätte die lösung mit den logon-scripten auch, mmn):

meldet sich meine tochter an, sind die betreffenden urls gesperrt. ok. melde ich mich danach an (schnelle benutzerumschaltung), ändert sich ja die hosts-datei wieder…
…und wenn sie dann wieder dran sitzt, hat sie auf einmal zugriff.

wie kann ich das verhindern?

lg, masl

Hallo,

deine Überlegungen bzgl. der Umbenennaktion sind falsch. Du gehst davon aus, dass ihr Euch immer abwechselnd anmeldet, und der Inhalt der Hosts-Datei vor Anmeldung genau der des anderen Users ist. Das ist aber vermutlich nicht immer der Fall.

Löse es besser so, dass Du eine Hosts_Papa und eine Hosts_Tochter-Datei anlegst, und in deinem Login-Script die bestehende Hosts-Datei mit der Hosts-Papa überschreibst, und im Script für deine Tochte die bestehende Datei durch die Hosts_Tochter überschreiben lässt.

Gruß vom Wiz

habe es jetzt über den taskplaner gelöst. allerdings wird der sch… task, erstellt unter meinem konto, nur ausgeführt, wenn ich ebenfalls angemeldet bin, obwohl ich die entsprechende option nicht angehakt habe (nur ausführen wenn angemeldet).

in welchem ordner unter dok…einstellungen des jeweiligen benutzers finde ich die erstellten tasks, so dass ich meinen task in ihren ordner kopieren kann?

die option „task für alle benuter oder nur für den ersteller aktivieren“ wäre ja blödsinn… :smiley:

lg, masl

UPDATE>>>>>>>>>>>>>>>

ich habe jetzt unter jedem konto/profil/account einen task, welcher jede minute prüft, wie der %username% ist und dementsprechend die offene oder restriktive hosts-xxx-datei in/auf/über die hosts-datei kopiert.

hier mal der quellcode der batch-datei…

########################

@echo off
echo %username%
if %username%==XXX goto open
if %username%==YYY goto rest
goto ende

open

rem ohne url-einschränkungen
rem echo open
xcopy %systemroot%\system32\drivers\etc\hosts_orig %systemroot%\system32\drivers\etc\hosts /y

goto ende

rest

rem mit url-einschränkungen
rem echo rest
xcopy %systemroot%\system32\drivers\etc\hosts_users %systemroot%\system32\drivers\etc\hosts /y

ende

rem echo ende
exit

#######################

damit das ganze ohne das dos-fenster läuft, starte ich die batch-datei aus einem vbs-script.

gibt es eine möglichkeit, dass der task nur bei dem konto ausgeführt wird, wo auch grad jemand aktiv ist? (nicht einfach nur eingeloggt/angemeldet, sondern tatsächlich was macht am rechner)

LG, Masl

Hallo nochmal. Bei aktivierter schneller Benutzerumschaltung sieht man im Taskmanager unter Benutzer den Status (verbunden/getrennt), sofern der/die Benutzer sich angemeldet hat/haben. Alle sind getrennt, außer derjenige, der grad arbeitet.

Da sich lokal ja zwar mehrere anmelden, aber immer nur einer arbeiten kann, würde ich gern in abhängigkeit dieses status’ beim jeweils verbundenen benutzer einen task laufen lassen. bei allen anderen benutzern soll der dort ebenfalls angelegte task dagegen nicht ausgeführt werden.

die option bei einem task „nur ausführen wenn angemeldet“ erfüllt diese bedingung meiner meinung nach nicht.

wer kann helfen? gibt es eine umgebungsvariable für diesen status, a la %username%?

wenn ich bei beiden benutzern einen task laufen habe, in welchem jeweils der %username% abgefragt wird, dann liefern beide tasks den jeweiligen benutzernamen.

es soll aber nur jeweils einer der tasks laufen; je nach dem, welcher benutzer gerade aktiv ist, da sich sonst beide tasks widersprechen.

LG, masl