Windows Profile (mittels WMI) löschen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Pry.

    Windows Profile (mittels WMI) löschen

    Hallo zusammen,

    ich bin derzeit dabei ein kleines Tool zu schreiben, mit welchem ich unter Angabe verschiedener Server die dort liegenden Windows User Profile löschen kann.
    Ich würde das allerdings ungern realisieren, indem ich stumpf das User-Verzeichnis und den entsprechenden Registrierungsschlüssel (mittels SID) lösche. Da kam mir WMI in den Sinn, womit man das (eigentlich) auch hinbekommen sollte.

    Leider scheitere ich aktuell daran, dass mir ein Fehler zurückgegeben wird.

    VB.NET-Quellcode

    1. Dim objWMIService As Object = GetObject("Winmgmts:\\localhost\root\cimv2")
    2. Dim colProfiles = objWMIService.ExecQuery("Select * From Win32_UserProfile Where LocalPath='C:\\Users\\MyUsername'")
    3. For Each objProfiles In colProfiles
    4. objProfiles.Delete_
    5. Next


    Als Meldung bekomme ich folgendes zurück, wenn versucht wird den Befehl "Delete_" auszuführen.

    Ein Ausnahmefehler des Typs "System.ArgumentException" ist in Microsoft.VisualBasic.dll aufgetreten.

    Zusätzliche Informationen: Falscher Parameter.

    Die Methode "Delete_" habe ich aus verschiedenen VBS. Ich hatte gehofft, dass es auch unter VB.NET problemlos funktioniert. Mir ist allerdings schleierhaft, welche Parameter hier noch fehlen. Der angegebene User ist übrigens nicht angemeldet. Eventuell kann hier jemand weiterhelfen oder mir sogar eine bessere Alternative an die Hand geben. Ich bedanke mich im Voraus.

    Grüße,
    Pry
    Dateien umbenennen und nummerieren - nichts leichter als das!

    Basic File Renamer: 100%
    @Pry Solche Systemeinstellungen würde ich unbedingt mit dem System-Tool durchführen.
    Dann kannst Du gewiss sein, dass alles richtig funktioniert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Irgendwie hatte mein Client wohl eine Macke. Über die Steuerung der Benutzerprofile konnte ich ebenfalls nicht löschen.
    Trotz administrativer Rechte war der "Löschen"-Button ausgegraut. Eine GPO gibt es dafür nicht.

    Rechner neugestartet, Profile können wieder entfernt werden - auch mit dem oben genannten Snippet.
    Problem gelöst. Danke :)
    Dateien umbenennen und nummerieren - nichts leichter als das!

    Basic File Renamer: 100%