Computer >> 컴퓨터 >  >> 체계 >> Windows Server

Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?

Active Directory의 컴퓨터 개체 설명에 다양한 유용한 정보를 저장할 수 있습니다. 예를 들어, 컴퓨터 모델, 하드웨어 인벤토리 또는 마지막으로 로그온한 사용자 이름에 대한 정보입니다. 이 도움말에서는 설명의 정보를 자동으로 채우고 업데이트하는 방법을 살펴보겠습니다. PowerShell을 사용하는 Active Directory의 컴퓨터 개체 필드.

PowerShell을 사용하여 Active Directory의 컴퓨터 설명 필드 업데이트

예를 들어 Active Directory 사용자 및 컴퓨터 콘솔의 컴퓨터 및 서버에 대한 설명 필드에 컴퓨터의 제조업체, 모델 및 일련 번호에 대한 정보가 표시되도록 하려고 합니다. 다음 PowerShell 명령을 사용하여 WMI에서 로컬 컴퓨터에 대한 이 정보를 가져올 수 있습니다.
Get-WMIObject Win32_ComputerSystemProduct | Select Vendor, Name, IdentifyingNumber
WMI 쿼리는 다음 데이터를 반환합니다.

  • 공급업체 – HP
  • 이름 – Proliant DL 360 G5
  • 식별번호 – CZJ733xxxx

Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?

환경 변수에서 현재 컴퓨터의 이름을 가져와 $computer에 할당합니다. 변수:

$computer = $env:COMPUTERNAME

그런 다음 컴퓨터 하드웨어에 대한 정보를 저장합니다.

$computerinfo= Get-WMIObject Win32_ComputerSystemProduct
$Vendor = $computerinfo.vendor
$Model = $computerinfo.Name
$SerialNumber = $computerinfo.identifyingNumber

변수에 어떤 값이 할당되었는지 봅시다:

$computer
$vendor
$Model
$SerialNumber

Active Directory에서 컴퓨터 계정의 설명 필드에 수신된 데이터를 쓰는 것이 남아 있습니다. 다음 PowerShell 스크립트를 실행합니다.

$ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
$ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($ENV:USERDNSDOMAIN).Replace(".",",DC="))")"
$ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
$computerObj = [ADSI]$ComputerSearcher.FindOne().Path
$computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" )
$computerObj.SetInfo()

Set-ADComputer cmdlet을 사용하여 컴퓨터 설명을 변경할 수도 있습니다. 그러나 이를 위해서는 Windows PowerShell용 Active Directory 모듈(RSAT 관리 도구 키트에서)이 컴퓨터에 설치되어 있어야 합니다.
Set-ADComputer $computer –Description "$vendor|$Model|$SerialNumber”

AD PowerShell 모듈의 cmdlet을 사용하려는 경우 RSAT를 설치하지 않고 모듈 파일을 모든 컴퓨터에 복사할 수 있습니다.

ADUC 콘솔의 컴퓨터 설명 필드에 제조업체 및 모델 정보가 표시되는지 확인합니다.

Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?

이러한 스크립트는 AD의 현재 컴퓨터 설명 속성만 업데이트합니다. Get-ADComputer 및 foreach를 사용하여 모든 도메인 컴퓨터에 대한 설명을 원격으로 채울 수 있습니다. 고리. 그러나 사용자가 로그인하거나 컴퓨터가 부팅될 때 컴퓨터가 AD에서 자동으로 정보를 업데이트하도록 하는 것이 훨씬 더 편리합니다.

이렇게 하려면 PowerShell 로그온 스크립트를 사용하여 그룹 정책을 만들고 모든 컴퓨터에 적용해야 합니다.

  1. 도메인 그룹 정책 관리 콘솔(gpmc.msc ), GPO를 만들어 컴퓨터가 있는 OU에 할당합니다.
  2. GPO 확장:사용자 구성 -> 정책 -> Windows 설정 -> 스크립트(로그온/로그오프) -> 로그온,
  3. PowerShell 스크립트로 이동 탭;
  4. 파일 표시 버튼을 누르고 FillCompDesc.ps1을 만듭니다. 다음 코드가 포함된 파일:
    # write information about the computer hardware/model in the Description field in Active Directory
    $computer = $env:COMPUTERNAME
    $computerinfo= Get-WMIObject Win32_ComputerSystemProduct
    $Vendor = $computerinfo.vendor
    $Model = $computerinfo.Name
    $SerialNumber = $computerinfo.identifyingNumber
    $DNSDOMAIN= (Get-WmiObject -Namespace root\cimv2 -Class Win32_ComputerSystem).Domain
    $ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
    $ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($DNSDOMAIN).Replace(".",",DC="))")"
    $ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
    $computerObj = [ADSI]$ComputerSearcher.FindOne().Path
    $computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" )
    $computerObj.SetInfo()

    더 쉬운 문제 해결을 위해 선택적으로 PowerShell 스크립트 작업을 기록할 수 있습니다.
  5. 추가를 클릭합니다. 버튼을 누르고 다음 스크립트 매개변수를 설정합니다.
    스크립트 이름:FillCompDesc.ps1
    스크립트 매개변수:-ExecutionPolicy Bypass Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까? 이 경우 PowerShell 실행 정책 설정을 변경하거나 PS1 스크립트 파일에 서명할 필요가 없습니다. PowerShell 스크립트를 실행합니다.
  6. 인증됨 에 대한 특정 OU에 AD 권한 위임 사용자 도메인 그룹. OU에 있는 모든 컴퓨터 개체의 설명 속성을 변경할 수 있는 권한을 할당합니다(Write Description 허가). 이렇게 하면 도메인 사용자와 컴퓨터가 컴퓨터 개체의 설명 특성 값을 변경할 수 있습니다. Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?
  7. 대상 OU의 컴퓨터를 다시 시작하고 그룹 정책 설정을 업데이트하면 AD의 설명 필드가 자동으로 채워집니다. 이 필드에는 컴퓨터 하드웨어에 대한 정보가 포함됩니다. gpresult를 사용하여 GPO 문제를 해결할 수 있습니다. 도구를 사용하거나 그룹 정책이 적용되지 않는 일반적인 문제 문서의 팁을 사용합니다.

따라서 AD에서 컴퓨터 개체의 설명 필드에 정보를 추가할 수 있습니다. 예를 들어, 마지막으로 로그온한 사용자의 이름, 부서(이 정보는 Get-ADUser cmdlet를 사용하여 얻을 수 있음), 컴퓨터의 IP 주소 또는 기타 필요한 관련 정보입니다.

참고 . 이 접근 방식의 단점은 인증된 모든 AD 사용자가 Active Directory의 모든 컴퓨터에 대한 설명을 변경하거나 삭제할 수 있다는 것입니다.

마지막으로 로그온한 사용자 이름을 AD의 컴퓨터 설명에 추가

위의 PowerShell 스크립트를 사용하여 AD의 컴퓨터 개체에 대한 설명에 다른 정보를 추가할 수 있습니다. 예를 들어, 컴퓨터 설명에 현재 로그온한 사용자가 표시될 때 유용합니다. 사용자가 인증된 도메인 컨트롤러의 이름도 추가해 보겠습니다(LOGONSERVER ).

PowerShell 로그온 스크립트의 한 줄을 다음으로 변경합니다.

$computerObj.Put("Description","$vendor|$Model|$SerialNumber|$env:username|$env:LOGONSERVER")

로그오프하고 사용자 계정으로 로그인합니다. 컴퓨터 설명 속성이 현재 사용자의 이름과 인증한 로그온 서버(도메인 컨트롤러)를 표시하는지 확인하십시오.

Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?

설명 속성에서 데이터를 구문 분석하기 위해 다음 PowerShell 코드를 사용할 수 있습니다.

$ComputerName = 'PC-MUN22s7b2'
$vendor,$Model,$SerialNumber,$Username,$LogonServer = ((Get-ADComputer -identity  $ComputerName -Properties *).description).split("|")

설명 필드 값을 나눕니다(|로 구분). )를 여러 개별 변수로 변환합니다. 지정된 원격 컴퓨터에서 사용자 이름을 얻으려면 다음을 실행하십시오.

$Username

Active Directory에서 컴퓨터 설명을 자동으로 채우는 방법은 무엇입니까?

다음 PowerShell 스크립트를 사용하여 특정 사용자가 현재 로그온한 컴퓨터의 이름을 얻을 수 있습니다.

$user='*M.Becker*'
Get-ADComputer -Filter "description -like '$user'" -properties *|select name,description |ft