Imports System.Net.NetworkInformation
Imports System.Management

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(getSystemTime("192.168.1.1", "Administrator", "password"))
    End Sub

    Private Function getSystemTime(ByVal TargetIP As String, ByVal LoginName As String, ByVal Password As String) As String
        Dim oPing As Ping
        Dim strTime
        oPing = New Ping
        getSystemTime = ""
        strTime = ""
        If oPing.Send(TargetIP).Status = IPStatus.Success Then
            Dim connOpts As ConnectionOptions
            Dim scope As ManagementScope
            Dim query As ManagementObjectSearcher
            Dim objColumn As ManagementBaseObject
            connOpts = New ConnectionOptions
            connOpts.Username = LoginName
            connOpts.Password = Password
            scope = New ManagementScope("\\" & TargetIP & "\root\cimv2", connOpts)
            scope.Connect()
            query = New ManagementObjectSearcher("Select * from Win32_OperatingSystem")
            query.Scope = scope
            For Each objColumn In query.get
                strTime = objColumn.GetPropertyValue("LocalDateTime").ToString
            Next
            getSystemTime = strTime.Substring(8, 2) & ":" & strTime.Substring(10, 2) & ":" & strTime.Substring(12, 2)
        End If
    End Function
End Class