Feedback

VB - Anzahl phys. CPU´s eines Remotesystems ermitteln

Veröffentlicht von am 11/15/2007
(2 Bewertungen)
Abfrage eines Remotesystem um die Anzahl der physikalischen Prozessoren zu ermitteln.
'Zuerst eine Klasse die den nötigen Code aufnimmt


Imports System.Management


Public Class clsRemoteCPUCount


Public Function CountPhysCPURemote(ByVal strUser As String, _
                                                ByVal strDomain As String, _
                                                ByVal strComputer As String, _
                                                ByVal strPassword As String) As Integer

        Try



            Dim PhysCPU As ArrayList = New ArrayList
            Dim options As ConnectionOptions
            options = New ConnectionOptions()
            options.Username = strDomain & "\" & strUser
            options.Password = strPassword
            'options.Authority = "kerberos:" & strDomain
            Dim scope As ManagementScope
            scope = New ManagementScope( _
                "\\" & strComputer & "\root\cimv2", options)



            Try
                scope.Connect()
            Catch ex As Exception
                'Hinweis wenn die Verbindung fehlschlaegt
                MessageBox.Show(ex.Message, "Error while Connecting", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            End Try



            'Abfrage und ermitteln der gewünschten Information
            Dim query As ObjectQuery
            query = New ObjectQuery( _
                "SELECT * FROM Win32_Processor")
            Dim searcher As ManagementObjectSearcher
            searcher = New ManagementObjectSearcher(scope, query)

            Dim queryCollection As ManagementObjectCollection
            queryCollection = searcher.Get()


            Dim m As ManagementObject

            For Each m In queryCollection
                Dim SocketDesignation As String = m.Properties("SocketDesignation").Value.ToString()
                If Not PhysCPU.Contains(SocketDesignation) Then
                    PhysCPU.Add(SocketDesignation)
                End If
            Next
            Return PhysCPU.Count

        Catch ex As Exception
        End Try

    End Function

End Class


'Aufruf der Klasse und Übergabe der Parameter

Dim cls As New clsRemoteCPUCount
        MsgBox(cls.CountPhysCPURemote("user", "Domain", "Remotesystem", "Password").ToString)

'Wird kein Active Directory verwendet, muss bei Domäne der Name des Remotesystems angegeben werden.

Durch Übergabe von Name und Password ist der Snippet auch gem. dem neuen §202 Gesetzeskonform. Durch leichte Modifikation könnte auch auf Übergabe von Username und Password verzichtet werden.

Abgelegt unter CPU, Anzahl, remote.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!