Hi,
ich hab hier noch so ein tolles Phänomen in einer TerminalServer-Umgebung: ich habe einen Dienst, der in die Registry der gerade angemeldeten Benutzer schreiben soll:
Die Funktion läuft prima (wird in einer Schleife alle paar Sekunden aufgerufen)... im Schulungsraum, wo das später laufen soll, klappt es auch... sofern ich es mit einem Benutzer teste! Bei 2, 3, 4 oder 5 Benutzern klappt es meistens auch prima... nur irgendwann ist ein Punkt erreicht wo plötzlich nichts mehr in die Registry geschrieben wird! Die Funktion wirft aber keine Exception, protokolliert auch einen SUCCESS, der Wert ist in der Funktion sogar mit GetValue auslesbar, aber beim Benutzer steht nichts drin... nach einigen Minuten (5-10 Minuten) oder wenn sich andere Benutzer vom TS abmelden, kommt der Wert dann plötzlich...
Mein erster Gedanke war natürlich, dass die SID eventuell nicht stimmt, aber die stimmt laut Log-File definitv mit dem Benutzer überein...
Hat da jemand ne Idee dazu? Bin froh um jeden Tipp... :-/
ich hab hier noch so ein tolles Phänomen in einer TerminalServer-Umgebung: ich habe einen Dienst, der in die Registry der gerade angemeldeten Benutzer schreiben soll:
Code:
private void SetRegValue(string usersid) { try { RegPath = usersid + @"\Software\MySoftware"; Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.Users.OpenSubKey(RegPath, Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl); reg.SetValue("Test", DateTime.Now.ToString(), Microsoft.Win32.RegistryValueKind.String); reg.Flush(); reg.Close(); this.LogToFile("SUCCESS", usersid, null); } catch (Exception ex) { this.LogToFile("ERROR", usersid, ex); } }
Mein erster Gedanke war natürlich, dass die SID eventuell nicht stimmt, aber die stimmt laut Log-File definitv mit dem Benutzer überein...
Hat da jemand ne Idee dazu? Bin froh um jeden Tipp... :-/
Comment