AD의 컴퓨터 개체 설명을 업데이트하는 로그온 스크립트를 통해이 작업을 수행합니다.
"인증 된 사용자"가 도메인에있는 컴퓨터 개체의 설명 속성을 쓰도록하려면 사용자 지정 제어 위임을 수행해야합니다.
완료되면 원하는 정보를 생성하고 속성을 컴퓨터 개체에 쓰는 스크립트 만 있으면됩니다. 그런 다음이 스크립트는 도메인에 연결된 그룹 정책 개체를 통해 로그인 스크립트로 할당됩니다.
설명 필드에 타임 스탬프, 사용자 이름, IP를 입력합니다. 타임 스탬프는 설명 필드를 기준으로 정렬하여 "오래된"컴퓨터 개체를 쉽게 볼 수있게하므로 가장 먼저 나타납니다.
시작점으로 사용하려면이 스크립트를 작성했습니다.
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo") 'Bind to AD
Set objNet = CreateObject("WScript.Network")
strCompDN = objSysInfo.ComputerName 'DN for computer, e.g. "CN=VISTAWORKSTATION,OU=Child OU Name,OU=Parent OU Name,DC=domain,DC=com"
Set objComp = GetObject("LDAP://" & strCompDN) 'IADsComputer object
strUserDN = objSysInfo.UserName 'DN for user, e.g. "CN=John Smith,OU=Child OU Name,OU=Parent OU Name,DC=domain,DC=com"
Set objUser = GetObject("LDAP://" & strUserDN) 'IADsUser object
strUsrLogin = LCase(objNet.UserName)
strNow = Now
strDateStamp = DatePart("yyyy",strNow) & _
Right("0" & DatePart("m",strNow), 2) & _
Right("0" & DatePart("d",strNow), 2) & _
"@" & _
Right("0" & DatePart("h",strNow), 2) & _
Right("0" & DatePart("n",strNow), 2)
'RegExp object used to perform a simple match on IP address
Set objRE = New RegExp
objRE.IgnoreCase = True
'Note this regexp pattern isn't "correct" for matching an IPv4 address properly, but since WMI will return an
'array of IP addresses, this is sufficient to distinguish IPv4 vs IPv6
objRE.Pattern = "^\d+\.\d+\.\d+\.\d+$"
strIP = ""
'Connect to WMI and retreive all network adapters
Set objWMI = GetObject("winmgmts:")
Set colNICs = objWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
'Get the IP(s) assigned to whichever network adapter has our default gateway
If colNICs.Count > 0 Then
For Each objNIC in colNICs
If IsArray(objNIC.DefaultIPGateway) Then
arrIP = objNIC.IPAddress
For i = 0 To UBound(arrip)
If objRE.Test(arrIP(i)) Then strIP = strIP & " " & arrIP(i)
Next
strMAC = objNIC.MACAddress
End If
Next
End If
strIP = Trim(strIP)
objComp.Description = strDateStamp & " " & strUsrLogin & " " & strIP
objComp.Put "extensionAttribute1", strUsrLogin
objComp.Put "extensionAttribute2", strIP
objComp.Put "extensionAttribute3", strMAC
objComp.SetInfo