Private Function Authenticated() As Boolean
Dim queryCollection As ManagementObjectCollection
Dim co As New ConnectionOptions()
co.Username = UserName 'user name from user
co.Password = Password 'string password entered by user
Dim path As New System.Management.ManagementPath()
path.Server = ConnectionServer 'server to use for authentication
path.Path = "\\" & ConnectionServer & "\root\cimv2"
Dim ms As New System.Management.ManagementScope(path, co)
Dim oq As New System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem") 'dummy query to test rights
Dim query As New ManagementObjectSearcher(ms, oq)
Try
queryCollection = query.Get()
Catch ex1 As System.UnauthorizedAccessException
Return False 'ouch nt authentication failed
Catch ex As Exception
MsgBox("Error: NT Verification Failed", MsgBoxStyle.Critical, "Error Connecting to Server For Authentication")
Application.Exit()
End Try
Return True
End Function
Here is another way:
Public Shared Function ConnectToRegisTry(ByVal servername As String) As String
Dim regKeyToGet As String,keyToRead As String
Dim oConn As ConnectionOptions = New ConnectionOptions()
oConn.Username = "admin"
oConn.Password = "pass"
Dim scope As ManagementScope = New ManagementScope("//" + servername + "/root/default",oConn)
regisTry = New ManagementClass(scope, New ManagementPath("StdRegProv"), Nothing)
' Returns a specific value for a specified key
Dim inParams As ManagementBaseObject = regisTry.GetMethodParameters("GetStringValue")
inParams("sSubKeyName") = regKeyToGet
inParams("sValueName") = keyToRead
Dim outParams As ManagementBaseObject = regisTry.InvokeMethod("GetStringValue",inParams,Nothing)
Return outParams("sValue").ToString()
End Function