Qual'è il comando di VBA di Excel 2013 per ottenere il SID o SSID dell'OS?
ciao e grazie
Qual'è il comando di VBA di Excel 2013 per ottenere il SID o SSID dell'OS?
ciao e grazie
Più pratica in futuro...
Uhm, il SID di solito è l'ID di un utente su Windows NT, il SSID è il nome di una rete WiFi, nessuno dei quali è qualcosa di relativo al sistema... di che stai parlando?
Amaro C++, il gusto pieno dell'undefined behavior.
Forse parla del machine sid
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ho usato questo codice la prima volta per proteggere un software fatto in Matlab. Non so rispondervi precisamente, è un codice che contraddistingue ogni pc e che non può essere cambiato. Due pc identici non possono mai avere lo stesso sid e se per qualche ragione si dovesse sostituire qualche componente hardware del pc forse questo numero dovrebbe cambiare. Non ricordo più precisamente la definizione e non ricordo più se questo codice è legato all'OS o all'hardware. Mi ricordo anche che oltre al sid ce n’è un altro ma ora non ricordo il nome. Sono quasi certo che un utente smaliziato è in grado di andare a modificare a piacimento il sid del proprio pc però se non erro è un’operazione un pochetto più complessa rispetto alla norma. Non ricordo se si scrive con 1 o 2 s (credo 1 sola) ma sono certo che non centra nulla con la rete wireless e riguarda esclusivamente il pc.
Più pratica in futuro...
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.
Modificabile si ma facilmente no! Per esempio io non saprei come togliere la password al VBA di Excel! E' davvero molto complesso ottenere questo codice?
Più pratica in futuro...
Esistono mille tool su Internet per eliminare la password da Excel.
Ripeto, non c'è un comando per leggere il SID.
Potresti usare WMI ... faccio un'eccezione ... puoi provare con
codice:Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set objAccount = objWMIService.Get("Win32_UserAccount.Name='Administrator',Domain='NOMEPC'") MsgBox "SID: " & Left(objAccount.SID, Len(objAccount.SID) - 4)
inserendo al posto di NOMEPC il nome del sistema.
Ultima modifica di oregon; 08-02-2015 a 16:10
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...
Rivedi la parte dell'environ
No MP tecnici (non rispondo nemmeno!), usa il forum.
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...