Rubrik: System/Windows · Computer/Benutzer/Ländereinstellungen | VB-Versionen: VB2005, VB2008 | 13.08.08 |
Computerbeschreibung per WMI ermitteln und ändern Mit Hilfe von WMI lässt sich die in der Systemsteuerung eingetragene Computerbeschreibung schnell ermitteln und auch ändern. | ||
Autor: Dieter Otter | Bewertung: | Views: 18.685 |
www.tools4vb.de | System: WinXP, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute zeigen wir, wie man die in der Systemsteuerung eingetragene Computerbeschreibung ermitteln und auch individuell ändern kann.
Das Ganze erfolgt mit Hilfe des Windows-Managment-Instruments (kurz WMI), so dass Sie also zunächst den Verweis System.Management aktivieren müssen. Danach importieren wir den Namespace in unser Projekt:
Imports System.Management
Das Auslesen der Computerbeschreibung erledigt die Funktion GetComputerDescription.
''' <summary> ''' Ermittelt die Computerbeschreibung für den angegebenen Rechner ''' </summary> ''' <param name="sComputer">Optional. Rechner im Netzwerk</param> Private Function GetComputerDescription( _ Optional ByVal sComputer As String = ".") As String Dim mObjects As New ManagementObjectSearcher( _ "\\" & sComputer & "\root\cimv2", _ "SELECT * FROM Win32_OperatingSystem") Try For Each objSWbemObject As ManagementObject In mObjects.Get() ' Beschreibung auslesen Dim sDescr As String = DirectCast( _ objSWbemObject.GetPropertyValue("Description"), String) Return sDescr Next Catch ex As Exception ' Fehler MsgBox("Computerbeschreibung konnte nicht ermittelt werden!" & vbCrLf & _ ex.Message, MsgBoxStyle.Exclamation) End Try Return "" End Function
Mit der Funktion SetComputerDescription lässt sich die Computerbeschreibung ändern:
''' <summary> ''' Ändert die Computerbeschreibung für den angegebenen Rechner ''' </summary> ''' <param name="sDescr">Computerbeschreibung</param> ''' <param name="sComputer">Optional. Rechner im Netzwerk</param> Private Function SetComputerDescription(ByVal sDescr As String, _ Optional ByVal sComputer As String = ".") As Boolean Dim mObjects As New ManagementObjectSearcher( _ "\\" & sComputer & "\root\cimv2", _ "SELECT * FROM Win32_OperatingSystem") For Each objSWbemObject As ManagementObject In mObjects.Get() ' Beschreibung setzen Try objSWbemObject.SetPropertyValue("Description", sDescr) objSWbemObject.Put() Return True Catch ex As Exception End Try Next Return False End Function