Archives

.NET 4.0 Bug: RegDeleteKeyEx remote auf XP

Im .NET Framework 4.0 führt Microsoft.Win32.RegistryKey.DeleteSubKeyTree() remote gegen einen XP Rechner geschossen zu einer netten Exception „The procedure number is out of range.“. Grund: Die Win32 Funktion RegDeleteKeyEx() wird erst ab Vista in advapi32.dll unterstützt (MSDN-Thread). Workaround: Selber rekursiv löschen, Beispiel:       [DllImport(„advapi32.dll“, EntryPoint = „RegDeleteKey“, SetLastError = true)]       public static extern int RegDeleteKey(IntPtr hKey, string sSubKey);       public static int RecurseDeleteKey(RegistryKey oKey, string sKey)       {          int nStatus;          RegistryKey oSubKey;          oSubKey = oKey.OpenSubKey(sKey);          foreach (string sSubKey in oSubKey.GetSubKeyNames())          {             if ((nStatus = RecurseDeleteKey(oSubKey, sSubKey)) != 0)             {                try { oSubKey.Close(); } catch (Exception) { }                return nStatus;             } …

PortUsers

Wer schon immer (filterbar) wissen wollte welches Programm in welcher Sitzung (Terminalserver) von welchem Rechner (Terminalserver) mit welchem User auf welche Ports auf welchen Zielen zugreift: PortUsers kann das 😀

RemoteApps und das Logoff-Problem

Selbst wenn man alle Möglichkeiten wie tsconfig.msc/RDP-Tcp/Sitzungen/Wenn das Sitzungslimit erreicht oder die Verbindung getrennt wurde: Sitzung beenden lokale Policy: Computereinstellungen/Adm.Vorlagen/Remotedesktopdienste/Remotedesktopsitzungs-Host/Sitzungslimits/Zeitlimit für die Abmeldung bei RemoteApp-Sitzungen festlegen (aktiviert/sofort) ausnutzt passiert es immer wieder dass Sessions im disconnected Status (wenn auch nur für kurze Zeit) herum lungern. Wenn man nun viele Sessions mit einem Benutzer betreibt und …

Tools

GARCopy – das Ding mit dem man (wenn man Administrator ist und es auch elevated startet) unabhängig von ACLs im Backupkontext Dinge kopieren kann. GARDirSize – das Ding mit dem man (wenn man Administrator ist und es auch elevated startet) unabhängig von ACLs die Größe (Anzahl der Dateien+Bytes) eines Verzeichnisses ermitteln kann. GARDelete – das …

IIS >= 6.0, ASP.NET und VMware.VimClient

Wie ich eben lernen musste kommt VMware.VimClient (Teil von Power CLI) ab 2003/IIS6 nicht mit den dort limitierten Stack von 256 KB (KB932909) zurecht. Man kann das aber umgehen in dem man einen Thread mit entsprechendem Stack startet: public void SomeHandler(object sender,EventArgs e) { Thread oWorker=new Thread(new ParameterizedThreadStart(SomeHandlerWorker),1024*1024*4); // 4 MB Stack oWorker.Start(e); oWorker.Join(); } …

Translate »