No primeiro exemplo, vamos usar o Powershell para:
- Listar todos os computadores de uma OU, para cada computador localizado iremos:
- Consultar quem está logado neste computador e;
- Gravar no AD o login da pessoa no campo extensionAttribute1 do próprio computador.
Get-ADComputer -filter * -SearchBase “CN=Computers,DC=dominio,DC=com,DC=br” | ForEach-Object { $name = $_.name Get-WmiObject -Class win32_computersystem -ComputerName “$name” | select username, name $username = $_.username } set-aduser -Identity “USUARIO”-Replace @{extensionAttribute1=”COMPUTADOR”} |
Uma segunda opção é executar durante o logon de cada usuário, para isso é necessário:
- Uma credencial (usuário e senha) no Active Directory;
- Sugerimos que este usuário não seja membro do grupo Domain User, inibindo que esta conta seja usada para entrar em computadores;
- Que nesta credencial seja atribuída apenas a permissão de gravação no campo que será usado nos computadores;
- Criar uma GPO e atribuir onde ficam os usuários do AD, nesta GPO executar o seguinte script de logon:
On Error Resume Next Dim ldap_username, ldap_password, objSysInfo, openDS, strComputerDN, strUserDN, objUser, objComputer, objComputerDN, strDescr ‘ALTERE ESSAS VARIAVEIS ldap_username = “usuario@dominio.com.br” ldap_password = “senha“ Set objSysInfo = CreateObject(“ADSystemInfo”) Set objUser = GetObject(“LDAP://” & objSysInfo.UserName) Set objComputerDN = GetObject(“LDAP://” & objSysInfo.ComputerName) Const ADS_SECURE_AUTHENTICATION = 1 Set openDS = GetObject(“LDAP:”) Set objComputer = openDS.OpenDSObject(“LDAP://” & objSysInfo.ComputerName,ldap_username, ldap_password,ADS_SECURE_AUTHENTICATION) objComputer.description = “Usado por:” & objUser.userPrincipalName objComputer.SetInfo |
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.