meto
Goto Top

Umgebungsvariablen per Loginscript

Es soll ein Wert für Temp sowohl für System als auch für den user gesetzt werden. Ausßerdem soll ein Pfad an PATH angehangen werden.

An alle Batch Spezialisten.

Auf das Problem ist wohl schon fast jeder gestoßen. Setze ich eine Umgebungsvariable gilt diese nur für die CDM-Sitzung. Das heist auch, dass die Einstellungen in Temp und Path die über eine Batch gesetzt werden ebenfalls verschwinden.

Bei Path lässt sich das ja noch durch PATHMAN.EXE bewerkstelligen. Schwierig wird es, wenn ich jetzt aber versuch nur einer bestimmten Gruppe (mit ifmember) diesen zusätzlichen Pfad zuzuweisen. Denn was geschieht wenn der Beenutzer die Gruppe wechselt.

Bei Win98 gings noch so in einer Batch: set path=%path%;d:\ . Wenn es einen Ähnlichen Befehl auch im W2K bzw. WinXP gäbe, der diese Einstellung nur für den Lauf einer Sitzung vornehmen würde wäre das klasse. Ich vermute aber das geht wohl nich? Der Eintrag erfolgt ja in der Registry.

Noch schwieriger wirds mit TMP bzw. Temp wie ist das denn das realisierbar?

Bin gespannt ob es da Lösungsansätze gibt.

Danke schon mal
Gruß
meto

Content-Key: 17669

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

Printed on: April 25, 2024 at 20:04 o'clock

Mitglied: 4794
4794 Oct 13, 2005 at 08:54:31 (UTC)
Goto Top
Hallo,

Schau mal hier rein:

http://www.infionline.net/~wtnewton/batch/batguide.html

http://www.admini.de/batch-infos.htm

Vor allem der zweite link dürfte interessant sein.

Gruß

Stefan
Member: meto
meto Oct 13, 2005 at 09:15:53 (UTC)
Goto Top
Alles schon klar. Das einzige was mir entfallen war ist SETX. Das scheint aber auch nicht mehr im Ressourcce Kit von W2K3 enthalten zu sein. Das wäre jetzt die Variante für Temp. Mal schaun wie ich da ran komme.

Mein Problem mit dem Path löst das aber leider auch nicht.

Aber schon mal danke.
Member: Biber
Biber Oct 13, 2005, updated at Oct 18, 2012 at 15:55:15 (UTC)
Goto Top
@meto

Dieses "bestimmter-Pfad-für-bestimmte Gruppe"-Problem... dafür habe ich auch nur eine nicht-nobelpreisverdächtige Lösung gefunden, nämlich die Überprüfung bei jedem Login.
....
echo %path% |find /i ";%mypath2Add%" >nul:  
if errorlevel 1 (
(echo Pfad ;%mypath2Add% nicht gesetzt bei %computername%\%username%>%log)
%Pathmanpath%\pathman.exe /au %mypath2Add%
...
)
Diese Überprüfung ist zwar bei 99 von 100 Logins überflüssig, weil der Pfad schon gesetzt ist, aber für den verbleibenden Bodensatz von 1% habe ich eine funktionierende Lösung. (Keine elegante allerdings.)

Umgekehrt - einen überflüssigen Pfad entfernen ginge nach der gleichen Mimik.

Zu PathMan hab ich grad gestern was verzapft: Batch:SET PATH

HTH
Biber
Member: meto
meto Oct 13, 2005 at 09:57:36 (UTC)
Goto Top
Hätte jetzt eigendlich DIE Lösung erwartet, aber wenn du da auch keine Patentlösung hast gibts die wohl auch nicht face-wink.

Problem mit dem entfernen des Path ist ja, das das voraussetz, das das Loginscrip ausgeführt wird. Wenn dann jemand nicht in der Gruppe ist für die geändert werden soll, kann ich natürlich sagen - nimm den Pfad raus und setze neu.

Blöd ist nur, dass ich am anfang des Skripts schon überprüfe, ob jeman z. b. Admin ist. dann greift das Skript nicht. Der Pfad wird dann auch nicht entfernt.

Ist ja eigendlich auch nur ein Schönheitsfehler und unbedingt entfernen muss man den Pfad den ich einfügen will vielleicht auch nicht. Es wäre nur schön, wenn man solche Variablen einfach nur für die Zeit der Sitzung manipulieren könnte, ohne sich jetzt zu sehr zu verbiegen.

Ich überlege auch, ob ich das über die Gruppenrichtlinien (Login- und Logoutscript) mache. Dann könnte man den eintrag beim einloggen zwischenspeichern, verändern und beim ausloggen zurückschreiben. Das ist mir für das bischen aber zu viel aufwand und zu unübersichtlich. Ne Administrative Vorlage hierfür wär auch recht praktisch. Schön wäre ebend einfach gewesen, das kann aber MS wohl in einigen Fällen nicht ... face-sad

Danke und Gruß nach Bremen.
Member: Biber
Biber Oct 13, 2005 at 10:20:32 (UTC)
Goto Top
Hmm, meto,

in einem Nebensatz in dem o.a. Artikel gestern hatte ich es schon geschrieben: Du kannst natürlich ein Autorun-Script je Benutzer aufrufen lassen, welches dann bei jedem Öffnen eines CMD-Prompts "vorgeschaltet" wird.
Das wäre zumindest noch prüfenswert, falls Du den user- oder gruppenbezogenen Pfad nur in der CMD-Umgebung brauchst. Und diese AutoRun-Einträge wiederum, die könntest Du über GPOs abfackeln.

Aber unterm Strich hast Du recht - da wird kein brauchbarer Weg unterstützt von meiner Lieblings-Software-Schmiede.
Ach, M$...... *tiefer Seufzer und von richtigen Betriebssystemen träum face-sad

Biber
Member: meto
meto Oct 13, 2005 at 10:50:49 (UTC)
Goto Top
Das is es ja ebend. Die Variable muss wärend der ganzen Sitzung gesetzt sein und nicht nur für einen CMD-Aufruf. Das ist wohl auch die Sittuation die in den Meisten Fällen eintritt.

Mit manchen Dingen mus man ebend wohl leben. Da hilft dann auch kein tricky Scripting mehr *seufts*
Member: Biber
Biber Oct 13, 2005 at 11:04:03 (UTC)
Goto Top
*gemeinsam mit meto eine Träne zerdrückt und eine neue Flasche Wermut öffnet...