Werte aus INI Datei übernehmen
Guten Tag,
ich habe folgendes Problem. Wir nutzen Activ Directory.
Wir Nutzen nun ein Programm, das Telefongespräche anzeigt. Wenn man nun auf seinem Arbeitsplatz ein Telefonat annimmt, öffnet sich automatisch eine Maske.
Problem ist, dass jeder auch eine eigene Telefonnummer hat. Aktuell müsste man jedes mal in der Ini Datei oder im Programm die eigene Nummer umstellen.
Meine Idee war nun in der InI Datei einen verweis auf eine andere Ini Datei, diese liegt im Benutzerprofil und wird vom Server heruntergeladen. 3
Ausschnitt aus der Ini-Datei
Die werte LinesAccept=1022 und LineControl=1022 müssen für jeden Benutzer verändert werden. Nun suche ich nach einem Weg oder Befehl das er diese Werte aus einer anderen Datei nimmt. Immer aus der des aktuell angemeldeten Benutzers. z.B
in der Datei tel.ini würde dann die Werte für den jeweiligen Nutzer stehen z.B.
LinesAccept=1022;
LineControl=1022
hat hier jemand eine Idee??
Alternativ eine Idee das ich Benutzerabhängig eine Verknüpfung der Ini Datei erstelle
ich habe folgendes Problem. Wir nutzen Activ Directory.
Wir Nutzen nun ein Programm, das Telefongespräche anzeigt. Wenn man nun auf seinem Arbeitsplatz ein Telefonat annimmt, öffnet sich automatisch eine Maske.
Problem ist, dass jeder auch eine eigene Telefonnummer hat. Aktuell müsste man jedes mal in der Ini Datei oder im Programm die eigene Nummer umstellen.
Meine Idee war nun in der InI Datei einen verweis auf eine andere Ini Datei, diese liegt im Benutzerprofil und wird vom Server heruntergeladen. 3
Ausschnitt aus der Ini-Datei
[Browser]
SearchModeCustomer=1
SearchModeStreet=1
SearchModeCity=1
ResultLimit=50
[CallManager]
AcceptOnDisconnect=0
LinesAccept=1022;
LineControl=1022
KeyCallAccept=107
KeyCallHangUp=109
KeyHookGlobal=0
Die werte LinesAccept=1022 und LineControl=1022 müssen für jeden Benutzer verändert werden. Nun suche ich nach einem Weg oder Befehl das er diese Werte aus einer anderen Datei nimmt. Immer aus der des aktuell angemeldeten Benutzers. z.B
[Browser]
SearchModeCustomer=1
SearchModeStreet=1
SearchModeCity=1
ResultLimit=50
[CallManager]
AcceptOnDisconnect=0
=C:\Users\%USERPROFILE%\AppData\Roaming\Telefonsoftware\tel
KeyCallAccept=107
KeyCallHangUp=109
KeyHookGlobal=0
in der Datei tel.ini würde dann die Werte für den jeweiligen Nutzer stehen z.B.
LinesAccept=1022;
LineControl=1022
hat hier jemand eine Idee??
Alternativ eine Idee das ich Benutzerabhängig eine Verknüpfung der Ini Datei erstelle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 394199
Url: https://administrator.de/forum/werte-aus-ini-datei-uebernehmen-394199.html
Ausgedruckt am: 20.04.2025 um 15:04 Uhr
21 Kommentare
Neuester Kommentar
Moin,
INIs können von Haus aus keine Includes - es sei denn "die Telefonsoftware" kann das.
1. Bei der Benutzeranmeldung, die "korrekte" INI dorthin kopieren, wo sie von "der Telefonsoftware" gelesen wird?
2. "Die Telefonsoftware" so einstellen das sie die INI aus dem Benutzerprofil des angemeldeten Users Liest
lg,
Slainte
INIs können von Haus aus keine Includes - es sei denn "die Telefonsoftware" kann das.
hat hier jemand eine Idee??
Zwei sogar1. Bei der Benutzeranmeldung, die "korrekte" INI dorthin kopieren, wo sie von "der Telefonsoftware" gelesen wird?
2. "Die Telefonsoftware" so einstellen das sie die INI aus dem Benutzerprofil des angemeldeten Users Liest
lg,
Slainte
Das könnte auch ein Satz von einem Linux User sein. :D
Wir Nutzen nun ein Programm, das Telefongespräche anzeigt. Wenn man nun auf seinem Arbeitsplatz ein Telefonat annimmt, öffnet sich automatisch eine Maske.
Und der Name der Software ist streng geheim?
Problem ist, dass jeder auch eine eigene Telefonnummer hat. Aktuell müsste man jedes mal in der Ini Datei oder im Programm die eigene Nummer umstellen.
Was heißt hier jedes mal? Seid ihr gerade beim einrichten und müsstet die Ini für jeden User einmal ändern und danach läuft das problemlos?
Oder verstellt sich das jedes mal?
Und wenn ja warum verstellt sich das jedes mal.
Kurz gesagt die Informationen sind zu spärlich um hier überhaupt dein Problem einschätzen zu können.
Meine Idee war nun in der InI Datei einen verweis auf eine andere Ini Datei, diese liegt im Benutzerprofil und wird vom Server heruntergeladen. 3
Wäre mir neu, dass eine INI Datei das unterstützen würde Daten aus anderen Dateien zu laden.
Ich denke mal das wird so also nicht möglich sein.
hat hier jemand eine Idee??
Alternativ eine Idee das ich Benutzerabhängig eine Verknüpfung der Ini Datei erstelle
Alternativ eine Idee das ich Benutzerabhängig eine Verknüpfung der Ini Datei erstelle
Statt in einer INI Datei einen nicht funktionierenden Querverweis auf eine andere INI zu machen könntest du dir von einem Batch Logonscript vielleicht immer frisch eine passende INI erstellen lassen. Setzt natürlich voraus, dass das Script schneller ausgeführt wird als die Software (Stichwort Autostart).
Zitat von @Manuel.P:
Vielen Dank schon mal. Lösung 1 hört sich gut an. Jedoch habe ich hier keine Ahnung von, könntest du mir da helfen wie ich das genau erstelle.
Die Ini Datei für jeden Benutzer anlegen kein Problem und immer in dem gleichen Ordner des Benutzers ablegen habe ich schon gemacht. Die Dateien liegen immer unter, C:\Users\%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini
Was muss ich nun tuen, damit Windows beim starten die Passende Datei in C:\ProgramData\Tel-Software\ Client SQL abspeichert ?
GPO anlegen/Anmeldescript eintragen und per copy/xcopy/robocopy die Datei von C:\Users\%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini nach C:\ProgramData\Tel-Software\ Client SQL kopieren. Davor darauf achten, das aus das Zeilverzeichnis entsprechende Rechte für die User vorhanden sind.Vielen Dank schon mal. Lösung 1 hört sich gut an. Jedoch habe ich hier keine Ahnung von, könntest du mir da helfen wie ich das genau erstelle.
Die Ini Datei für jeden Benutzer anlegen kein Problem und immer in dem gleichen Ordner des Benutzers ablegen habe ich schon gemacht. Die Dateien liegen immer unter, C:\Users\%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini
Was muss ich nun tuen, damit Windows beim starten die Passende Datei in C:\ProgramData\Tel-Software\ Client SQL abspeichert ?
Notfalls den zuständigen Admin zu Rate ziehen.
Zitat von @Manuel.P:
ich habe folgendes Problem. Wir nutzen Activ Directory.
Das könnte auch ein Satz von einem Linux User sein. :D
Nein Windows 7/10Das könnte auch ein Satz von einem Linux User sein. :D
Das war als Witz gedacht, der Satz an Sich "Ich habe folgendes Problem, wir benutzen Active Directory" klingt so als wäre Active Directory an sich das Problem. Ein Linux User der nicht mag hätten auch zynisch gemeint so einen Satz schreiben können.
Zitat von @Manuel.P:
Das hört sich stark nach der Lösung an.
Sorry für die vermutlich dumme frage, aber ich kenne mich wie gesagt hier nicht so aus.
Das hört sich stark nach der Lösung an.
Zitat von @SlainteMhath:
GPO anlegen/Anmeldescript eintragen und per copy/xcopy/robocopy die Datei von C:\Users\%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini nach C:\ProgramData\Tel-Software\ Client SQL kopieren. Davor darauf achten, das aus das Zeilverzeichnis entsprechende Rechte für die User vorhanden sind.
Notfalls den zuständigen Admin zu Rate ziehen.
könntest du mir hier noch eine Hilfestellung geben, ich bin im Server auf die Gruppenrichtline des PC gegangen und habe dann unter Richtlinen-Windows-Einstellungen-Skirpts ein Starten Skript angelegt. Wie genau hinterlege ich es hier. Muss ich eine Datei mit dem Skript erstellen und diese dann hinterlegen? und was kommt ins Feld Parameter?GPO anlegen/Anmeldescript eintragen und per copy/xcopy/robocopy die Datei von C:\Users\%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini nach C:\ProgramData\Tel-Software\ Client SQL kopieren. Davor darauf achten, das aus das Zeilverzeichnis entsprechende Rechte für die User vorhanden sind.
Notfalls den zuständigen Admin zu Rate ziehen.
Sorry für die vermutlich dumme frage, aber ich kenne mich wie gesagt hier nicht so aus.
Du schreibst im Editor oder sonstwo eine Batch Datei (.bat) und packst in diese die Befehle.
Anmeldescripte für Domänen werden gewöhnlich hier abgelegt:
"\\[Domänenservername]\sysvol\[Domänenname]\scripts"
Bzw. auf dem Domänencontroller selbst ist das Verzeichnis unter:
"C:\Windows\sysvol\sysvol\[Domänenname]\scripts" zu finden.
Parameter musst du meistens keine übergeben. Kann also leer bleiben.
Also:
startscript = start des Coputers, was du brauchst ist Login Script, und das muss in die GPO die an der OU hängt in der der USER ist.
startscript = start des Coputers, was du brauchst ist Login Script, und das muss in die GPO die an der OU hängt in der der USER ist.
Muss ich eine Datei mit dem Skript erstellen und diese dann hinterlegen?
Genau.und was kommt ins Feld Parameter?
im Zweifelsfall nichtsSorry für die vermutlich dumme frage, aber ich kenne mich wie gesagt hier nicht so aus.
Ich hoffe das ist eine Testumgebung...
Stimmt, du solltest hier nicht in den GPOs diese beiden Dinge verwechseln:
"Computerkonfiguration\Windows-Einstellungen\Scripts (Start/Herunterfahren)"
und
"Benutzerkonfiguration\Windows-Einstellungen\Scripts (Anmelden/Abmelden)"
Da das Script das du benutzen willst für jeden Benutzer eine andere INI Datei kopieren soll ist das natürlich eine Benutzerkonfiguration.
"Computerkonfiguration\Windows-Einstellungen\Scripts (Start/Herunterfahren)"
und
"Benutzerkonfiguration\Windows-Einstellungen\Scripts (Anmelden/Abmelden)"
Da das Script das du benutzen willst für jeden Benutzer eine andere INI Datei kopieren soll ist das natürlich eine Benutzerkonfiguration.
Zitat von @Manuel.P:
Ja ist es und ich habe schon mal versucht einfache in vbs Skript zuerstellen, aber es will leider nicht ich bekomme immer eine Fehlermeldung wenn ich es manuell öffne.
Im Ordner Bestand ist eine INI Datei drin die soll er in den Ordner Kopie kopieren.
Leider kommt die Fehlermeldung Anweisungsende erwartet Zeile 1 Zeichen 52
Ja ist es und ich habe schon mal versucht einfache in vbs Skript zuerstellen, aber es will leider nicht ich bekomme immer eine Fehlermeldung wenn ich es manuell öffne.
XCOPY "C:\Users\test.nutzer\Documents\Bestand\*.*" "C:\Users\test.nutzer\Documents\Kopie" /S /E /C /H /R /Y /D
Im Ordner Bestand ist eine INI Datei drin die soll er in den Ordner Kopie kopieren.
Leider kommt die Fehlermeldung Anweisungsende erwartet Zeile 1 Zeichen 52
Wozu VBS?
Macht das mit einer Batch.
Mit VBS kannst du theoretisch auch einen Kopiervorgang machen. Aber das Script ist dann bei weitem nicht so einfach wie mit einer simplen batch.
Mach's doch nich so Kompliziert...
Das ganze in eine Datei die du unter "\\[Domänenservername]\sysvol\[Domänenname]\scripts" ablegst und dann in der GPO (die an der OU hängt in der der sich anmeldente User liegt) als Loginscript einträgst.
Vorher musst du ggfs mit der Hand die Rechte des Users auf "%ProgrammData%\Tel-Software\Client SQL\" anpassen
Kaffe holen, fertig!
copy "%USERPROFILE%\AppData\Roaming\Tel-Software\tel.ini " "%ProgrammData%\Tel-Software\Client SQL\tel.ini"
Das ganze in eine Datei die du unter "\\[Domänenservername]\sysvol\[Domänenname]\scripts" ablegst und dann in der GPO (die an der OU hängt in der der sich anmeldente User liegt) als Loginscript einträgst.
Vorher musst du ggfs mit der Hand die Rechte des Users auf "%ProgrammData%\Tel-Software\Client SQL\" anpassen
Kaffe holen, fertig!
Am sinnvollsten machst du dir im AD eine Sicherheitsgruppe für alle User die das benötigen.
Dann gibst du auf jeden Rechner auf dem das benötigt wird auf den Pfad %ProgramData%\Tel-Software\Client SQL\ in der NTFS Berechtigung Schreibzugriff für diese Gruppe.
Macht weniger Aufwand als das jedem User einzeln zu geben. Vor allem da sich diese ja auch später mal ändern können.
Anmerkung: Nur falls das relevant sein sollte und du den Pfad per copy paste kopiert hast.
SainteMhath hatte einen kleinen Schreibfehler zu dem Pfad.
%ProgrammData% gibt es nicht, das wird nur mit einem "m" geschrieben. Also %ProgramData%
Dann gibst du auf jeden Rechner auf dem das benötigt wird auf den Pfad %ProgramData%\Tel-Software\Client SQL\ in der NTFS Berechtigung Schreibzugriff für diese Gruppe.
Macht weniger Aufwand als das jedem User einzeln zu geben. Vor allem da sich diese ja auch später mal ändern können.
Anmerkung: Nur falls das relevant sein sollte und du den Pfad per copy paste kopiert hast.
SainteMhath hatte einen kleinen Schreibfehler zu dem Pfad.
%ProgrammData% gibt es nicht, das wird nur mit einem "m" geschrieben. Also %ProgramData%
Die Rechte kannst du auch leider nicht pauschal über das AD auf jedem Rechner setzen.
Das muss über Turnschuhadministration auf jedem Rechner selbst erfolgen.
Wenn sich im Pfad eine tel1 ändern lässt aber nicht die tel Datei würde ich darauf tippen, dass auf der Datei selbst auch noch gesonderte Berechtigungen sind und du diese daher nicht überschreiben darfst.
Gib also nicht nur auf den Pfad die Berechtigungen für die Usergruppe zum schreiben sondern auch noch mal auf die Datei.
Das muss über Turnschuhadministration auf jedem Rechner selbst erfolgen.
Wenn sich im Pfad eine tel1 ändern lässt aber nicht die tel Datei würde ich darauf tippen, dass auf der Datei selbst auch noch gesonderte Berechtigungen sind und du diese daher nicht überschreiben darfst.
Gib also nicht nur auf den Pfad die Berechtigungen für die Usergruppe zum schreiben sondern auch noch mal auf die Datei.
Ja so hatte ich es vor finde aber im AD nirgend die Möglichkeit einen Speziellen Pfad auf dem lokalen Rechner freizugeben, also die Rechte
Hui.. ja, ich weis war ein Freitag und so aber....nix für ungut: ich finde du solltest dich erstmal mit der grundsätzlichen Funktionsweise von Windws/AD/Rechtevergabe und deren Zusammenspiel einlesen, bevor du an produktiven System übst.