Boa tarde amigos.
Ve se você podem me ajudar
Vi uma resposta para obter o número da placa (MOTHERBOARDSERIAL), tentei usar mas meu sistema é 64 bits e a fórmula está 32, tem alguma outra formula que puxa o número da placa.
Tentei puxar o número do IP, mas não dá certo porque a máquina não fica em rede, dai tentei puxar o número do mac, mas nessa máquina não aparece nada, em outras que testo dá certo nessa não aparece nada, quando puxo pelo CMD o GETMAC consigo o numero do MAC, mas com a fórmula do access, não retorna nada, o campo fica em branco.
os códigos que uso são esses:
________________________________________________________________________________
Para MAC
Código:
Function GetMyMACAddress() As String
Dim strComputer As String
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
Dim myMACAddress As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objItem In colItems
If Not IsNull(objItem.IPAddress) Then myMACAddress = objItem.MACAddress
Exit For
Next
GetMyMACAddress = myMACAddress
End Function
____________________________________________________________________________________
Para IP
Código:
Public Function fncIP() As String
Dim objWMIService As Object
Dim strComputer As String
Dim strSql As String
Dim IPConfigSet
Dim IPConfig
Dim i
strComputer = "." 'Acesso a máquina local
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strSql = "Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE"
Set IPConfigSet = objWMIService.ExecQuery(strSql)
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
If InStr(IPConfig.IPAddress(i), "::") = 0 Then fncIP = "IP da máquina " & Environ("computername") & ": " & IPConfig.IPAddress(i)
Next
End If
Next
Set objWMIService = Nothing
End Function
____________________________________________________________________________________
Para motherboard 32 win
Código:
Public Function MOTHERBOARDSERIAL() As String
'OBTEM O SERIAL NUMBER DA MOTHERBOARD
'www.maximoaccess.com
Dim objs As Object
Dim obj As Object
Dim WMI As Object
Dim sAns As String
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_BaseBoard")
For Each obj In objs
sAns = sAns & obj.SerialNumber
If sAns < objs.Count Then sAns = sAns & ","
Next
MOTHERBOARDSERIAL = sAns
End Function
________________________________________________________________________________________
Já tentei alterar as fórmula um monte de vezes e deu erro se puder me ajudar agradeço enormemente
Se alguém souber de outra formula que puxa o motherboard serial ou o MAC me manda ai para testar
Ve se você podem me ajudar
Vi uma resposta para obter o número da placa (MOTHERBOARDSERIAL), tentei usar mas meu sistema é 64 bits e a fórmula está 32, tem alguma outra formula que puxa o número da placa.
Tentei puxar o número do IP, mas não dá certo porque a máquina não fica em rede, dai tentei puxar o número do mac, mas nessa máquina não aparece nada, em outras que testo dá certo nessa não aparece nada, quando puxo pelo CMD o GETMAC consigo o numero do MAC, mas com a fórmula do access, não retorna nada, o campo fica em branco.
os códigos que uso são esses:
________________________________________________________________________________
Para MAC
Código:
Function GetMyMACAddress() As String
Dim strComputer As String
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
Dim myMACAddress As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objItem In colItems
If Not IsNull(objItem.IPAddress) Then myMACAddress = objItem.MACAddress
Exit For
Next
GetMyMACAddress = myMACAddress
End Function
____________________________________________________________________________________
Para IP
Código:
Public Function fncIP() As String
Dim objWMIService As Object
Dim strComputer As String
Dim strSql As String
Dim IPConfigSet
Dim IPConfig
Dim i
strComputer = "." 'Acesso a máquina local
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strSql = "Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE"
Set IPConfigSet = objWMIService.ExecQuery(strSql)
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
If InStr(IPConfig.IPAddress(i), "::") = 0 Then fncIP = "IP da máquina " & Environ("computername") & ": " & IPConfig.IPAddress(i)
Next
End If
Next
Set objWMIService = Nothing
End Function
____________________________________________________________________________________
Para motherboard 32 win
Código:
Public Function MOTHERBOARDSERIAL() As String
'OBTEM O SERIAL NUMBER DA MOTHERBOARD
'www.maximoaccess.com
Dim objs As Object
Dim obj As Object
Dim WMI As Object
Dim sAns As String
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_BaseBoard")
For Each obj In objs
sAns = sAns & obj.SerialNumber
If sAns < objs.Count Then sAns = sAns & ","
Next
MOTHERBOARDSERIAL = sAns
End Function
________________________________________________________________________________________
Já tentei alterar as fórmula um monte de vezes e deu erro se puder me ajudar agradeço enormemente
Se alguém souber de outra formula que puxa o motherboard serial ou o MAC me manda ai para testar