Jump to content

Mr.Cherajek

Members
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Mr.Cherajek reacted to NIM in Find old computers in the stated OU   
    On error resume next

    Dim objADO
    Dim objContainer
    Dim objChild
    Dim User

    Wscript.Echo "The output will be written to C:\oldComputers.txt"
    set objADO = GetObject("LDAP://ou=workstations,ou=liverpool,dc=contoso,dc=local")
    set WshShell = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.DeleteFile ("C:\oldComputers.txt")
    set txtStream = fso.OpenTextFile("C:\oldComputers.txt", 8, True)
    txtStream.WriteLine vbCrLf
    set objContainer = objADO

    For each objChild in objContainer
    user = MID(objChild.Name,4)
    If DateDiff ("d",objChild.LastLogin, Now) > 180 then txtStream.WriteLine user & " ---> " & DateDiff ("d",objChild.LastLogin, Now)_
    & " Days since last login." & vbCrLf
    Next

    msgbox "Done..."
    WshShell.run "C:\oldComputers.txt"
    PLEASE MAKE SURE NO WORD WRAPPING IS HAPPENING IN YOUR SCRIPT!!!
    To make this script work you will need one thing!
    You will need the OU in which your computer accounts are kept.
    Edit the string LDAP://
    (e.g., 'LDAP://OU=workstations,OU=boston,DC=contoso,DC=com')
    The script will be written to the root of the c:\ drive.
    *Make sure you are an administrator to run this.