Here's what I'm doing so far:
Get the Machine Name via DNS - this bit works great:
Expand|Select|Wrap|Line Numbers
- Public Shared Function GetMachineName(ByVal sender As System.Web.UI.Control) As String
- Dim host As System.Net.IPHostEntry = Nothing
- Dim machinename As String = ""
- host = System.Net.Dns.GetHostEntry(sender.Page.Request.ServerVariables("REMOTE_ADDR"))
- machinename = host.HostName
- Return UCase(machinename).Replace(".CELLNETIX.LOCAL", "")
- End Function
Expand|Select|Wrap|Line Numbers
- Public Shared Function getClientName(Optional ByVal MachineName As String = "localhost") As String
- Dim strReturn As String = ""
- strReturn = regValue(RegistryHive.CurrentUser, "Volatile Environment", "CLIENTNAME", MachineName)
- Return strReturn
Expand|Select|Wrap|Line Numbers
- Public Shared Function regValue(ByVal hive As RegistryHive, _
- ByVal key As String, _
- ByVal ValueName As String, _
- Optional ByVal MachineName As String = "localhost", _
- Optional ByRef ErrInfo As String = "") As String
- Dim objParent As RegistryKey = Nothing
- Dim objSubkey As RegistryKey = Nothing
- Dim sAns As String = ""
- Select Case hive
- Case RegistryHive.ClassesRoot
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.ClassesRoot, MachineName)
- Case RegistryHive.CurrentConfig
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentConfig, MachineName)
- Case RegistryHive.CurrentUser
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, MachineName)
- Case RegistryHive.DynData
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.DynData, MachineName)
- Case RegistryHive.LocalMachine
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, MachineName)
- Case RegistryHive.PerformanceData
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.PerformanceData, MachineName)
- Case RegistryHive.Users
- objParent = RegistryKey.OpenRemoteBaseKey(RegistryHive.Users, MachineName)
- End Select
- Try
- objSubkey = objParent.OpenSubKey(key)
- If Not IsNothing(objSubkey) Then
- sAns = (objSubkey.GetValue(ValueName)).ToString
- End If
- Catch ex As Exception
- ErrInfo = ex.Message
- Finally
- If ErrInfo = "" And sAns = "" Then
- ErrInfo = _
- "No value found for requested registry key"
- End If
- End Try
- Return sAns
- End Function