La Set-ADComputadora cmdlet le permite cambiar los atributos de un objeto de cuenta de equipo en Active Directory. En este artículo, mostraremos cómo agregar el nombre de usuario y la dirección IP con sesión actual a las propiedades de la computadora en AD mediante el cmdlet Set-ADComputer. Este script de PowerShell puede resultar útil cuando necesite encontrar en el dominio la computadora en la que el usuario específico inició sesión.

Contenido:

  • Uso de Set-ADComputer para cambiar los atributos de la computadora en Active Directory
  • ¿Cómo agregar un nombre de usuario registrado a las propiedades de la computadora AD?

Uso de Set-ADComputer para cambiar los atributos de la computadora en Active Directory

El cmdlet Set-ADComputer es parte del módulo PowerShell Active Directory. Este módulo debe instalarse (como parte de RSAT) e importarse a su sesión de PowerShell. Veamos cómo usar el cmdlet Set-ADComputer para actualizar las propiedades de la cuenta de la computadora.

Intentemos agregar su empresa y un nombre de departamento a las propiedades de la computadora en AD. En primer lugar, verifique lo que se especifica en los campos Compañía, Departamento y Descripción de su equipo de dominio mediante el cmdlet Get-ADComputer.

Get-ADComputer lon-man01 -properties *|select-object dNSHostName,operatingSystem,company,department, description|ft -wrap -auto

Como puede ver, los campos Descripción, Compañía y Departamento están vacíos para este objeto de computadora.

Intentemos cambiar la descripción de la computadora usando el comando:

Set-ADComputer -Identity LON-MAN01 -Add @{"description"="Infrastructure management server"}

Puede especificar la ubicación de la computadora:

Set-ADComputer –Identity LON-MAN01 –Location “UK/London”

Si desea establecer varios parámetros de la computadora, use el siguiente código de PowerShell:

$Server = Get-ADComputer -Identity LON-MAN01
$Server.company = "Woshub"
$Server.department = "IT"
Set-ADComputer -Instance $Server

Asegúrese de que los atributos de la computadora hayan cambiado:

Get-ADComputer LON-MAN01 -properties *|select-object dNSHostName,operatingSystem,company,department, description|ft -wrap -auto

Como puede ver, los atributos de la computadora contienen la información que necesitamos. Luego, podremos seleccionar computadoras en AD en función de estos valores de atributo. Por ejemplo, me gustaría encontrar todas las computadoras del departamento de TI de la empresa Woshub. El comando PS para encontrar todas las computadoras según estos criterios puede tener este aspecto:

Get-ADComputer -Filter {(company -eq 'Woshub') -and (department -like 'IT')} -properties *|select-object dNSHostName,operatingSystem,company,department, description|ft -wrap -auto

El cmdlet Set-ADComputer también le permite deshabilitar / habilitar una cuenta de objeto de computadora en AD:

Set-ADComputer lon-pc-h1221 -Enabled $false

Set-ADComputer: habilita la computadora en AD

¿Cómo agregar un nombre de usuario registrado a las propiedades de la computadora AD?

Consideremos un ejemplo más interesante y útil del uso de Set-ADComputer. Suponga que ha decidido escribir la dirección IP de la computadora actual y el nombre del último usuario que inició sesión en los atributos de cada computadora en Active Directory.

Usaremos el descripción atributo para almacenar la dirección IP de la computadora, y el Gestionado por atributo para el nombre de usuario que está conectado actualmente en esta computadora.

En primer lugar, debe delegar los permisos de AD específicos para el grupo de usuarios del dominio (u otro grupo de seguridad de usuarios) en la unidad organizativa que contiene las computadoras de los usuarios. Permitir a los usuarios cambiar los valores de los siguientes campos para los objetos Computers: ManagedBy y Description (conceder Escribir descripción y Escritura administrada por permisos).

delegar permisos de anuncios Escribir descripción y escribir administrado por

Luego cree una nueva política de grupo que contenga el siguiente script de inicio de sesión de PowerShell (Configuración de usuario -> Políticas -> Configuración de Windows -> Scripts -> Inicio de sesión) que se ejecutará cuando un usuario inicie sesión en la computadora:

$curhostname=$env:computername
$env:HostIP = (
Get-NetIPConfiguration |
Where-Object {
$_.IPv4DefaultGateway -ne $null -and
$_.NetAdapter.Status -ne "Disconnected"
}
).IPv4Address.IPAddress
$currus_cn=(get-aduser $env:UserName -properties *).DistinguishedName
$ADComp = Get-ADComputer -Identity $curhostname
$ADComp.ManagedBy = $currus_cn
$ADComp.description = $env:HostIP
Set-ADComputer -Instance $ADComp

Este script de PowerShell se ejecuta bajo una cuenta de usuario y detecta la dirección IP de la computadora actual y del usuario actual CanonicalName (CN). Luego, el script escribe estos datos en el objeto de la cuenta de la computadora en AD.

Debe vincular este GPO a la unidad organizativa con las computadoras y habilitar la política Configurar el modo de procesamiento de bucle invertido de la política de grupo del usuario (consulta el artículo).

Ahora, cuando un usuario inicia sesión en una computadora, se ejecuta el script de inicio de sesión de PowerShell y actualiza la descripción de la computadora en AD.

Puede verificar las direcciones IP de las computadoras en la consola de Usuarios y computadoras de Active Directory (ADUC). La Gestionado por La pestaña de las propiedades del equipo contiene un enlace activo a la cuenta del último usuario que inició sesión en este equipo.

muestre la dirección IP y el nombre de usuario registrado actualmente en las propiedades de la computadora de Active Directory

Ahora puede encontrar rápidamente las computadoras en el dominio por sus direcciones IP:

get-adcomputer -filter {description -like "192.168.15.*"} -properties *|select name,description,managedBy

O puede encontrar todas las computadoras en el dominio en el que el usuario específico está conectado (Get-ADUser se usa para obtener el nombre Distinguido del usuario):

$user="a.adams"
$user_cn=(get-aduser $user -properties *).DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$user_cn'" -properties *|select name,description,managedBy|ft

encontrar computadoras en AD que un uso específico está registrado

De la misma manera, puede guardar cualquier información sobre una estación de trabajo o un usuario en las propiedades de la cuenta de la computadora en AD y usarla para buscar computadoras en AD.

En este artículo se considera un escenario similar para almacenar la información sobre un modelo y un número de serie de un servidor en las propiedades del objeto de equipo de Active Directory.

Recomendado para ti