Anmeldescript - Firefox Profil verschieben
Servus Zusammen,
da mich das Erstellen dieses Scripts Zeit gekostet hat, die ich natürlich nicht hatte und dieses Forum mir grundlegende Ansätze dafür geliefert hat, dachte ich mir, ich stelle es mal hier rein, damit andere sich genau diese Zeit sparen können ;)
Dies war für uns im Zuge einer Umstellung von PC´s auf ThinClients wichtig, da hier durch das Profil vom Lokalen Pfad, per Anmeldescript, auf ein gemapptes Netzlaufwerk verschoben wurde. Läuft bei uns unter XP und Win7.
Nur möglich, wenn jeder Benutzer nur ein Firefox Profil hat, was aber meiner Ansicht nach Standard ist. (Bitte Verbessern, falls ich hier falsch liege. Bei uns war das zumindest der Fall)
Zum besseren Verständnis habe ich die Batchdatei mal kommentiert.
Für Verbesserungen bin ich natürlich dankbar
Viele Grüße,
CopyPaste
EDIT: Ehemalige Suchen/Ersetzen Schleife durch neu Schleife zum neuerstellen der Datei ersetzt
EDIT: Probleme bei der auflösung von %USERNAME% wurden behoben; der Ablauf wurde vereinfacht
da mich das Erstellen dieses Scripts Zeit gekostet hat, die ich natürlich nicht hatte und dieses Forum mir grundlegende Ansätze dafür geliefert hat, dachte ich mir, ich stelle es mal hier rein, damit andere sich genau diese Zeit sparen können ;)
Dies war für uns im Zuge einer Umstellung von PC´s auf ThinClients wichtig, da hier durch das Profil vom Lokalen Pfad, per Anmeldescript, auf ein gemapptes Netzlaufwerk verschoben wurde. Läuft bei uns unter XP und Win7.
Nur möglich, wenn jeder Benutzer nur ein Firefox Profil hat, was aber meiner Ansicht nach Standard ist. (Bitte Verbessern, falls ich hier falsch liege. Bei uns war das zumindest der Fall)
Zum besseren Verständnis habe ich die Batchdatei mal kommentiert.
Für Verbesserungen bin ich natürlich dankbar
Viele Grüße,
CopyPaste
EDIT: Ehemalige Suchen/Ersetzen Schleife durch neu Schleife zum neuerstellen der Datei ersetzt
EDIT: Probleme bei der auflösung von %USERNAME% wurden behoben; der Ablauf wurde vereinfacht
@ECHO OFF & SETLOCAL ENABLEDELAYEDEXPANSION
REM Festlegen der Pfade und Dateinamen
REM %NewPath% muss als UNC Pfad angegeben werden, falls dieser auf eine Freigabe verweisen und dieses Script unter WinXP als Anmeldescript laufen soll.
REM %OldPath% ist der standard Pfad unter WinXP und Win7
REM Wir hatten probleme mit der %username% Varibalen im Pfad unter XP. Deshalb wurde die Globale Variable ersetzt.
SET "User=%USERNAME%"
SET "NewPath=\\SERVER\FREIGABE\%User%\Programme\Mozilla Firefox\Profiles"
SET "OldPath=%APPDATA%\Mozilla\Firefox"
SET "File=profiles.ini"
SET "Temp=%NewPath%\Temp.tmp"
SET "Script=del.bat"
REM Überprüfen ob die Datei "profiles.ini" im neuen Verzeichnis auf dem Laufwerk schon existiert, wenn ja wird davon ausgegangen, dass das Script schon durchgeführt wurde
IF EXIST "%NewPath%\%File%" GOTO EXIST
REM Löschen des Cache Ordners
FOR /F "USEBACKQ DELIMS==/ TOKENS=3" %%p IN ("%OldPath%\%File%") DO (
ECHO RD "%OldPath%\Profiles\%%p\Cache" /S /Q>>"%oldPath%\%Script%"
ECHO MD "%oldPath%\Profiles\%%p\Cache">>"%OldPath%\%Script%"
)
CALL "%OldPath%\%Script%"
DEL "%OldPath%\%Script%" /F /S /Q
REM Kopieren des Benutzerprofils
XCOPY "%OldPath%\Profiles" "%NewPath%" /Y /E /I
IF EXIST "%Temp%" DEL "%Temp%"
REM Überprüfen ob "profiles.ini" im alten Verzeichnis schon bearbeitet ist, falls ja wird er ins neue Verzeichnis kopiert, falls nicht:
REM Erstellen einer neuen "profiles.ini" mit neuem Pfad und den dazugehörigen Parametern
FOR /F "USEBACKQ DELIMS=== TOKENS=2" %%i IN ("%OldPath%\%File%") DO (
SET "row=%%i"
SET "compare=!row:~0,4!"
IF "!compare!"=="Prof" (
ECHO [General]>>"%Temp%"
ECHO StartWithLastProfile=1 >>"%Temp%"
ECHO. >>"%Temp%"
ECHO [Profile0]>>"%Temp%"
ECHO Name=default>>"%Temp%"
ECHO IsRelative=0 >>"%Temp%"
FOR /F "USEBACKQ DELIMS==/ TOKENS=3" %%a IN ("%OldPath%\%File%") DO (
ECHO Path=%NewPath%\%%a>>"%Temp%"
)
REM Kopieren der "profiles.ini" in das neue Verzeichnis, um es für Anmeldungen an anderen PC´s bereitstellen zu können
COPY "%Temp%" "%NewPath%\%File%"
REM So wie ins lokale Verzeichnis
MOVE "%Temp%" "%OldPath%\%File%"
) else (
COPY "%OldPath%\%File%" "%NewPath%\%File%"
)
)
EXIT
REM Falls die Datei schon vorhanden war, wird die Lokale "profiles.ini" mit der bereits editierte "profiles.ini" ohne Nachfrage ersetzt, so dass auch dieser PC auf den neuen Pfad und damit auf das kopierte Profil zugreift
:EXIST
COPY "%NewPath%\%File%" "%OldPath%\%File%" /Y
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 196692
Url: https://administrator.de/contentid/196692
Ausgedruckt am: 22.11.2024 um 14:11 Uhr