manuel.p
Goto Top

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

[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

Content-Key: 394199

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

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

Member: SlainteMhath
SlainteMhath Nov 30, 2018 at 07:52:40 (UTC)
Goto Top
Moin,

INIs können von Haus aus keine Includes - es sei denn "die Telefonsoftware" kann das.

hat hier jemand eine Idee??
Zwei sogar
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
Member: Bem0815
Bem0815 Nov 30, 2018 at 07:58:55 (UTC)
Goto Top
Zitat von @Manuel.P:

Guten Tag,

ich habe folgendes Problem. Wir nutzen Activ Directory.

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

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).
Member: Manuel.P
Manuel.P Nov 30, 2018 at 08:27:55 (UTC)
Goto Top
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 ?

Ich bin hier leider auf eure Hilfe angewiesen. Vielen Dank schon mal
Member: Manuel.P
Manuel.P Nov 30, 2018 at 08:35:39 (UTC)
Goto Top
Zitat von @Bem0815:

Zitat von @Manuel.P:

Guten Tag,

ich habe folgendes Problem. Wir nutzen Activ Directory.

Das könnte auch ein Satz von einem Linux User sein. :D
Nein Windows 7/10

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?
Nein ist sie nicht, wird nur nicht viel bringen, das sie nicht erhältlich ist Tel.net12

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.
Nein das Programm ist leider so gebaut, das die ini Datei lokal liegt und für den ganzen Rechner ist also für alle Nutzer die gleichen Einstellungen. und das möchte ich ändern. Wenn Nutzer A sich anmeldet. Trage ich die Telefonnummer von Nutzer A an, meldet sich das nächste mal Nutzer B an muss ich wieder die B eintragen. Das will ich automatisieren.

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
Gerne aber wie ?
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).
Member: SlainteMhath
SlainteMhath Nov 30, 2018 at 09:20:49 (UTC)
Goto Top
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.

Notfalls den zuständigen Admin zu Rate ziehen.
Member: Manuel.P
Manuel.P Nov 30, 2018 at 11:55:44 (UTC)
Goto Top
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?

Sorry für die vermutlich dumme frage, aber ich kenne mich wie gesagt hier nicht so aus.
Member: Bem0815
Bem0815 Nov 30, 2018 at 12:23:11 (UTC)
Goto Top
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/10

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.
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?

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.
Member: SlainteMhath
SlainteMhath Nov 30, 2018 at 12:23:29 (UTC)
Goto Top
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.

Muss ich eine Datei mit dem Skript erstellen und diese dann hinterlegen?
Genau.

und was kommt ins Feld Parameter?
im Zweifelsfall nichts

Sorry für die vermutlich dumme frage, aber ich kenne mich wie gesagt hier nicht so aus.
Ich hoffe das ist eine Testumgebung...
Member: Manuel.P
Manuel.P Nov 30, 2018 at 12:34:15 (UTC)
Goto Top
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
Member: Bem0815
Bem0815 Nov 30, 2018 at 12:34:56 (UTC)
Goto Top
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.
Member: Bem0815
Bem0815 Nov 30, 2018 updated at 12:39:26 (UTC)
Goto Top
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.
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.
Member: Manuel.P
Manuel.P Nov 30, 2018 at 12:59:50 (UTC)
Goto Top
Ok super vielen Dank schon mal für deine Hilfe so das Skript lauft und macht genau das was es soll.

Jetzt haben wir nur noch den Punkt mit dem Automatischen starten, das kann ich ja für den kompletten pc anlegen, da ich im Skript hingehe und lese immer die Datei vom aktuell angemeldeten Benutzer aus. Also kann ich die an und abmelde Einstellung für alle Bentuzer gleich machen oder?

Kann ich das in ActivDirektory auch hinterlegen? Damit ich nicht an jeden Pc muss sondern es direkt an allen habe?
Member: SlainteMhath
SlainteMhath Nov 30, 2018 at 13:07:41 (UTC)
Goto Top
Mach's doch nich so Kompliziert...

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!
Member: Manuel.P
Manuel.P Nov 30, 2018 at 13:32:21 (UTC)
Goto Top
Super vielen Dank

Kaffee ist nun leer das Prinzip funktioniert auch. Habe nur das Problem das er auf dem Win 7 Rechner die Datei nicht überschreibt erst wenn ich die vorhanden lösche oder umbennen wird sie aktualisiert. Obwohl ich mit einem Benutzer angemeldet bin der Admin rechte hat.?
Member: SlainteMhath
SlainteMhath Nov 30, 2018 at 14:00:51 (UTC)
Goto Top
Gib dem User (Oder der Gruppe Domain-User) direkt rechte auf das Verzeichnis, dann sollte das passen
Member: Manuel.P
Manuel.P Nov 30, 2018 at 14:31:51 (UTC)
Goto Top
Ja genau das versuche ich gerade aber es will irgend wie nicht. Daran hängt es noch
Member: Bem0815
Bem0815 Nov 30, 2018 updated at 15:29:52 (UTC)
Goto Top
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%
Member: Manuel.P
Manuel.P Nov 30, 2018 at 16:15:50 (UTC)
Goto Top
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
Member: Manuel.P
Manuel.P Nov 30, 2018 at 16:36:34 (UTC)
Goto Top
Ich habe gerade festgestellt das wenn ich die Datei tel auf tel1 änder, dann kann ich sie überschreiben also die zu kopieren Datei nenne ich dann auch tel1 sobald die Datei tel heißt kann ich sie nicht mehr überschrieben per Skript.
Das Program ist aber geschlossen. Wenn ich sie mit Hand in den Ordner kopiere fragt er nur nach der Bestätigung das sie überschreiben darf sonst nichts
Member: Bem0815
Bem0815 Dec 03, 2018 at 07:16:04 (UTC)
Goto Top
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.
Member: SlainteMhath
SlainteMhath Dec 03, 2018 at 07:42:07 (UTC)
Goto Top
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.