Propósito:
El escenario es una empresa con muchos PCs repartidos en cientos de localizaciones. Ausencia de una herramienta de inventario y la dificultad en ocasiones de identificar quien ha sido la última persona que ha utilizado ese PC.
El problema es que si pasa algo y tenemos que contactar, entre otras cosas para que lo encienda, sin información sería una tarea complicada.
Lo que voy a guardar es: usuario + timestamp último logon, en TAREA PROGRAMADA en LOGON que se ejecuta con contexto del usuario como SYSTEM.
Lo bueno es que guardaras esta información en el AD, con lo que podrás consultarla aún estando apagado el PC.
Pasos
FASE 1
[ ] Ir a la OU donde están los PCs a gestionar
[ ] Delegar control….
Añadimos el usuario SELF
Elegimos el “extensionAttribute10”
FASE 2:
Pon el script en un recurso donde lleguen todos los PC, lo
normal el SYSVOL, para llamarlo desde la GPO.
Script
|
#gon 20260616 Start-Sleep -Seconds 5 $Computer = $env:COMPUTERNAME $User = (Get-WmiObject
Win32_ComputerSystem).UserName $Date = Get-Date -Format
"yyyy-MM-dd HH:mm:ss" if ($User) {
$Value = "$User - $Date"
$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.Filter =
"(&(objectClass=computer)(name=$Computer))"
$result = $searcher.FindOne()
if ($result) { $entry = $result.GetDirectoryEntry()
$entry.Put("extensionAttribute10", $Value) $entry.SetInfo() } } |
FASE 3, La GPO
En el DC:
Set-ADComputer
pc05 -Replace @{extensionAttribute10="hola gon"}
()Para leer el valor del nuevo atributo
Get-ADComputer
pc05 -Properties extensionAttribute10 | Select Name, extensionAttribute10
()Para mirar todos los PCs del AD:
%20-%20Word.jpg)
No hay comentarios:
Publicar un comentario