Ti riferisci al SID ma non c'è "un comando" di VBA di Excel per leggerlo.
E comunque, il programma in Excel è facilmente modificabile, quindi il metodo è inutile.
Ti riferisci al SID ma non c'è "un comando" di VBA di Excel per leggerlo.
E comunque, il programma in Excel è facilmente modificabile, quindi il metodo è inutile.
No MP tecnici (non rispondo nemmeno!), usa il forum.
Rivedi la parte dell'environ
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ottengo 0
A me serve ottenere il sid in formato stringa per poterlo gestire in un metodo.codice:Dim SID As String Dim objWMIService As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='Environ("COMPUTERNAME")'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4)
Più pratica in futuro...
Da 0codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='Environ('COMPUTERNAME')'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function
Da 0codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='PC-GIANNI'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function
Da 0codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='Environ(""COMPUTERNAME"")'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function
Da 0codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain=Environ('ComputerName')") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function
![]()
Ultima modifica di giannino1995; 08-02-2015 a 16:54
Più pratica in futuro...
Usa il codice con il nome del pc perché gli altri sono sbagliati. Sei collegato come administrator?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Credo di si! Come faccio a capire se sono collegato come amministratore?
Quindi a te questo codice funziona?
e quindi anche questo?codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='PC-GIANNI'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function
codice:Private Function SID_COMPUTER() As Variant Dim SID As String Dim objWMIService As Object Dim objAccount As Object sComputer = Environ("COMPUTERNAME") Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='"+sComputer+"'") SID = Left(objAccount.SID, Len(objAccount.SID) - 4) SID_COMPUTER = SID End Function![]()
Più pratica in futuro...