Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Variable USERPROFILE wird nicht beim Aufruf über eine BAT-Datei in einer REG-Datei ersetzt !

Frage Microsoft Windows Installation

Mitglied: Ertan-30

Ertan-30 (Level 1) - Jetzt verbinden

13.09.2005, aktualisiert 13.10.2005, 15408 Aufrufe, 8 Kommentare

Variable USERPROFILE wird nicht beim Aufruf über eine BAT-Datei in einer REG-Datei ersetzt !

Hallo zusammen,
ich habe folgende Aufgabenstellung :

Die Anwender sollen sich beim erstmaligen Anmelden an einem Rechner eine BAT-Datei ausführen, die bestimmte Konfigurationen
an einem Programm durchführt, ausführen. In der BAT-Datei werden Kopieraktionen gemacht und Registry-Einträge eingefügt bzw. ersetzt. Soweit funktioniert die ganze Sache.


Ich habe nun folgendes Problem :

In der BAT-Datei habe ich folgenden Aufruf:
....
copy \\server\...\...\LT2005_Erstmaliges_Starten.reg c:\temp\LT2005_Erstmaliges_Starten.reg
regedit c:\temp\LT2005_Erstmaliges_Starten.reg
del c:\temp\LT2005_Erstmaliges_Starten.reg
...

In der Datei LT2005_Erstmaliges_Starten.reg habe ich eine ganze Menge Einträge, die die Variable %USERPROFILE% enthalten.
Diese werden nun über die BAT-Datei als dummer Text eingefügt, und nicht durch den Wert der Variable ersetzt.

Beispiel aus der REG-Datei :
...
[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD LT\R10\ACLT-301:407]
@=""
"AutoMigrate"=dword:00000002
"LaunchNFW"=dword:00000003
"LocalRootFolder"="%USERPROFILE%\\Lokale Einstellungen\\Anwendungsdaten\\Autodesk\\AutoCAD LT 2005\\R10\\deu\\"
"NFWFile"="%ProgramFilesDir%\\Autodesk\\AutoCAD LT 2005\\Help\\aclt_NFW.CHM"
"RoamableRootFolder"="%USERPROFILE%\\Anwendungsdaten\\Autodesk\\AutoCAD LT 2005\\R10\\deu\\"
...

Es wäre nun ein Riesenaufwand, alle Registry-Einträge in die BAT-Datei über den Befehl RegAdd neu anzulegen, nur damit die Variable %USERPROFILE% ersetzt wird.

Beim Starten von AutoCad LT2005 kommt nun eine Fehlermeldung mit "ungültiger Pfad bzw. Dateiname...".
Wenn ich die Reg-Datei manuell ändere und meinen Account eintrage, kommt AutoCad ohne Fehlermeldungen hoch.


Ich kann aber vorher nicht wissen, welcher Anwender diese BAT-Konfigurationsdatei benutzt und was festes in die REG-Datei eintragen.


Wer hat zu diesem Problem einen Workaround ??
Am Besten einen einfachen Workaround mit DOS-Befehlen, z.B. durch ersetzen des dummen Strings %USERPROFILE% in der REG-Datei mit "C:\Dokumente und Einstellungen\Username" ??
Zum Zeitpunkt der Ausführung der BAT-Datei ist ja der Username bereits bekannt.

Oder gibt es sonstige Tools, mit deren Hilfe ich , ohne die komplette REG-Datei überarbeiten zu müssen, ans Ziel gelangen kann ?

Ich bin leider kein besonderer DOS-Crack !!
Vielen Dank schonmal im voraus.

Mit freundlichen Grüßen
Ertan Öncel
Mitglied: Biber
13.09.2005 um 17:36 Uhr
Moin, Ertan,
IMHO ist das schon ganz richtig, das die Variable %USERPROFILE% NICHT aufgelöst wird.
Da ist irgendwas anderes in die Grütze gegangen.
Wie geht denn die Fehlermeldung "Pfad nicht gefunden ..." weiter??

AUF GAR KEINEN FALL jetzt da irgendwelche Variablen "von Hand" auflösen.

Ist denn die Variable %USERPROFILE% beim User (nicht bei der Inst) korrekt gesetzt?

Gruß
Biber
Bitte warten ..
Mitglied: Ertan-30
15.09.2005 um 08:37 Uhr
Guten Morgen,
also erstmal möchte ich sagen, dass das Auflösen der Variablen von "von Hand" nur ein Test war, um zu sehen, ob die Fehlermeldung dann nicht mehr kommt. Und wie durch ein "Wunder", AutoCad startet dann ohne Fehlermeldungen

Also die Fehlermeldung beim Starten von AutoCad LT2005 lautet:
SYSTEMFEHLER: Ungültiger Pfad/Dateiname für Konfiguration: %USERPROFILE%Lokale Einstellungen\Anwendungsdaten\Autodesk\AutoCAD LT2005\R10\deu

Es ist ja auch logisch, dass die Fehlermeldung kommt.
AutoCad LT2005 kopiert beim erstmaligen Starten bei einem neuen User ca. 200 Dateien in den jeweiligen Userprofil. Die Registry-Einträge müssen ja dann auch auf den jeweiligen Userprofil verweisen.
Wenn dann dort ein "Schmarrn" wie %USERPROFILE" drinsteht, bekommt AutoCad LT2005 geringfügig Probleme

-> die Variable %USERPROFILE% ist bei der Inst beim User schon korrekt gesetzt.

Die Kopieraktionen in den Userprofil bekomme ich in der BATCH-DAtei auch ohne Probleme hin, da im BATCH-Modus die Variable ja aufgelöst wird.
Nur die Registry-Einträge , die ich durch den REGEDIT-Befehl einfügen will, können in der REG-Datei nicht aufgelöst werden !

Mr.Biber, was heisst bei Dir die Abkürzung IMHO ??


Wir haben nun die Idee, die REG-Datei während des BATCH-Modus zu editieren, d.h. durch einfachen DOS-Befehlen bzw. ein selbst gestrickten bzw. gekauften Progrämmchen die Variable zu ersetzen, und anschliessend als eine neue REG-Datei abzuspeichern und anschliessend in der BAT-Datei einzutragen.

Wer kennt Programme, am Besten Freeware, die durch einen Aufruf in der Kommandozeile Strings einer Datei ersetzen können und dabei Variablen auslesen und der Datei übergeben können ?

Ich bin auch anderen Ideen aufgeschlossen

Mit freundlichen Grüßen
Ertan
Bitte warten ..
Mitglied: Biber
15.09.2005 um 08:56 Uhr
Moin Ertan,
na, wenn Du auch anderen Ideen aufgeschlossen bist, melde ich mich nochmal.

1. IMHO=In my humble opinion=meiner unmaßgeblichen Meinung nach
2. Das IMHO gilt auch immer noch
3.>SYSTEMFEHLER: Ungültiger Pfad/Dateiname für Konfiguration:
%USERPROFILE%Lokale Einstellungen\Anwendungsdaten\Autodesk\AutoCAD LT2005\R10\deu

Hat er doch recht. %USERPROFILE% hat NIE einen abschließenden Backsslash und zweitens steht es nicht in Anführungszeichen trotz Leerzeichen im Pfadnamen.

Richtiger:
"%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\Autodesk\AutoCAD LT2005\R10\deu"
oder
%USERPROFILE%\Lokale~1\Anwend~1\Autodesk\AutoCA~1\R10\deu

IMHO zumindest.

Mit freundlichen Grüßen Biber

P.S. Mit freundlichen Grüßen = Mit feixendem Grinsen
Bitte warten ..
Mitglied: Ertan-30
15.09.2005 um 09:09 Uhr
Hallo Biber,
vielen Dank für deine promte Antwort !!

Ich will nochmal darauf hinweisen, dass in der REGISTRY nicht %USERPROFILE% stehen darf.
Das Problem hat nichts mit der falschen Schreibweise , d.h. mit oder ohne Anführungszeichen oder Lerrzeichen zu tun.

Wenn ich nun Testweise %Userprofile%\... durch C:\Dokumente und Einstellungen\llioee0\...
ersetze, funktioniert alles einwandfrei (llioee0 ist mein Benutzername).

Ich kann aber vorab nichts in die REG-Datei was sinnvolles eintragen, da diese Einträge bekanntlich für den aktuell angemeldeten Benutzer gemacht werden müssen.

Die Lösung des Problems liegt also darin, dass ich die Reg-Datei editieren muss und dazu ein geeignetes Tool bzw. eine Anleitung benötige, wie man das mit einfachen Befehlsaufrufen machen kann.

Ich bin wie gesagt leider nicht der große DOS-Crack, d.h. mir sind keine DOS-Befehle bekannt, mit denen ich einen String in einer Datei editieren kann, wo auch noch eine Variable übergeben wird.

Daher schauen wir uns auch nach diversen PRogrämmchen um, die das vielleicht können.

Mit feixendem Grinsen
Ertan
Bitte warten ..
Mitglied: Biber
15.09.2005 um 09:54 Uhr
>Ich will nochmal darauf hinweisen, dass in der REGISTRY nicht %USERPROFILE% stehen darf.

WARUM????
Schau doch bitte mal, wie z.B. die %TEMP%-Variable in der Registry gesetzt ist.
Oder such in der Registry nach dem Wert %USERPROFILE%... gibt es reichlich und funktionierend.

Wette eine halbe Flasche Becks, dass das Problem woanders liegt.

Aber ich lass auch gern andere Meinungen gelten - bin jetzt still und lese erstmal nur mit, was für Alternativlösungen gepostet werden.

LG (=Liebe Grüße)
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Ertan-30
15.09.2005 um 10:08 Uhr
Hallo nochmal,
nochmals danke für deine schnelle Antwort.

Du hast Recht, dass die TEMP-Variable in der Registry so gesetzt ist.

Ich kann aber nur sagen, dass es eben bei AutoCad LT2005 nicht funktioniert.

Ich bin da ein vorsichtiger Mensch und will die Einträge über die BATCH-Datei genauso einfügen, wie sie von unserem Installationsprogramm "NetInstall" gesetzt werden, bzw.
beim normalen Installieren von CD gesetzt werden.

Wie gesagt, ohne Variable funktioniert es ja.

Danke trotzdem für deine Mühe !!

Ein Kollege von unserer "Programmiertruppe" strickt mir heute oder morgen ein kleines Programm, welches diese Variable dann ersetzt. Vielleicht ist das Problem dann bald erledigt.

Warten wir mal ab, ob weitere Einträge gepostet werden.


Nur zur Info: Wir haben in unserem Zweig-Werk in FN keinen "Net-Install-Server", wo wir die Installation über Netinstall eben nicht durchführen können. Daher die ganze Aktion mit der "blöden" BAT-Datei.

Mit freundlichen Grüßen
Ertan
Bitte warten ..
Mitglied: Biber
19.09.2005 um 12:10 Uhr
Moin, Ertan,
falls Dein Kollege von der Programmiertruppe Unterstützung braucht, sag Bescheid.
Habe auch noch mal über das Problemchen meditiert und weiß jetzt, wie es geht (denke ich).

Biber
Bitte warten ..
Mitglied: thafrog
13.10.2005 um 09:17 Uhr
Hallo Ertan,
ich hatte ein ähnliches Problem. Verbindliche servergespeicherte Benutzerprofile. Dazu wurde die Software auf den Clients installiert und getestet, ob die Software fkz.. Danach das lokale Benutzerprofil aus der Systemsteuerung heraus in das freigegebene Vz. für den verbindlichen Profilpfad kopiert. Nebst sämtlicher Reg-Daten für AutoCAD. Und das ist der falsche Weg.

Das mit der Anlage und Kopie des verbindlichen Benutzerprofils ist soweit ok. AutoCAD darf jedoch nicht vorher installiert worden sein. D.h. es dürfen sich keinerlei Reg-Daten im Profil befinden, die auf die AutoCAD-Installation verweisen, denn AutoCAD schreibt ja so gerne absolute Pfade. Was prima fkz. hat ist der Weg über die Benutzung der AutoCAD-Installations-CD:

Netzwerkeinrichtung > Schneller Einstieg für Netzwerkadministratoren > Verwenden von Gruppenrichtlinien zur Installlation einer Einrichtung

Dabei wird nach Computertstart (ich würde vorher sämtliche GPOs, die sich auf Computerkonfigurationen beziehen entfernen) AutoCAD unter der Anmeldung eines normalen (Test) Domänenbenutzer installiert und kann anschließend von ALLEN Domänenbenutzer be-/genutzt werden (GPO notfalls nach der Anmeldung mit gpupdate /force erzwingen). Nachdem auf allen Rechnern per Test-Domänenbenutzer AutoCAD installiert wurde, wurde diese GPO (Computerkonfiguration) wieder entfernt (die Verknüpfung für die Clients) und alle anderen GPOs wieder auf die Maschinen gezogen. Fertig.

Hoffe das hilft oder hast Du schon eine andere Lösung?

gruß
r.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows 7
gelöst Bat Datei erstellen für Homeroot (2)

Frage von leon22 zum Thema Windows 7 ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...