ADPinger

ADPinger is a VB .NET project created as a hobby in 2013. It is no longer actively developed or maintained.

The code has been open sourced and made available on GitHub: https://github.com/techthoughts2/ADPinger

The documentation below is archived and for reference only

ADPinger is a tool designed for administrators to assist in performing various actions on a large number of remote devices.  Its purpose is to perform a requested action against a selected Organizational Unit / container within Active Directory or a custom list containing specified device names.

ADPinger is designed from the ground up to accomplish this rapidly and with minimal network impact.  In many cases, you may be hard pressed to even notice the traffic it generates.

ADPinger is capable of:

  • generating an overall health status of an OU / container after a scan.  It can also save the results of a scan to a CSV report for more robust data manipulation and tracking. Over time, this information can be utilized to delete old and unused computer accounts (as well as other devices) from your AD environment.
  • sending a custom reboot command to thousands of remote devices (OU or list based)
  • sending a custom shutdown command to thousands of remote devices (OU or list based)
  • scanning for a file on any remote device you specify. Generate robust reports if devices do/do not have the file you are looking for (OU or list based)
  • scanning for a directory on any remote device you specify. Generate robust reports if devices do/do not have the directory you are looking for (OU or list based)
  • copying a file to thousands of remote devices (OU or list based)
  • deleting a file from thousands of remote devices.  (OU or list based)
  • interacting with services on thousands of remote devices (OU or list based)
    • Get remote service status
    • Restart remote service
    • Stop remote service
    • Start remote service
ADPinger
ADPinger

ADPinger Video Demo

MINIMUM SYSTEM REQUIREMENTS

  • Windows OS (XP or higher)
  • .NET 4.0 runtime environment
  • ICMP must be permitted on the network
  • Client’s firewall must be configured to accept/respond to ICMP
  • Client’s firewall must be configured to accept file sharing requests (File Functions – Scan, Copy, Delete)
  • Minimum 1024×768 screen resolution
  • Actions require ADPinger to be run with credentials that are present in the Local Administrators group for each device
  • For Active Directory integration and performing actions against entire OU’s:
    • PC running ADPinger must be joined to the domain you are attempting to interact with
    • PC running ADPinger should be run from a user profile with at least AD Account Operator credentials (recommended – in some environments this will not be required)
  • 1GB/s NIC card (recommended)

MINIMUM SYSTEM REQUIREMENTS

ADPinger v1.5.2.197

Change Log:

  • Additional functionality: Added ability to interact with services on remote devices. Perform various service actions on a list of remote devices, or an entire OU.
    • Get status of remote service
    • Restart remote service
    • Stop remote service
    • Start remote service
  • Fixed error message with shutdown command saying that it was restarting instead of shutting devices down.

ADPinger v1.1.1.9

Change Log:

  • Additional functionality: Added shutdown command capability.  Shutdown a list of devices or shutdown an entire OU.  I’m not really sure why you would ever want to do this, but the option is there in case you need it now.
  • Improved error messages

ADPinger v1.0.1.8

Change Log:

  • Bug fix – Reboots were not being sent successfully if user did not input a shutdown message. Fix allows reboots to be sent with no optional message.

ADPinger v1.0.0.0

Change Log:

  • Load From File – instead of only being able to pull computers directly from Active Directory you can now specify a custom list of computers via .txt or .csv file
  • Additional functionality:
    • Ping – send ICMP requests to thousands of devices.  Generate robust reports and track inactivity over time.  Use this data to identify old and unused computer accounts, or just get an overall health status of an OU.
    • Reboot – send custom reboot commands to thousands of devices you specify or reboot an entire OU.
    • Scan for file – look for a file on any remote device you specify. Generate robust reports if devices do/do not have the file you are looking for.
    • Scan for directory – look for a directory on any remote device you specify. Generate robust reports if devices do/do not have the directory you are looking for.
    • Copy File – Copy a file to thousands of remote devices.  Copy a file to an entire OU.
    • Delete File – Delete a file from thousands of devices.  Delete a file from an entire OU.  (Be careful!)
  • Completely redesigned GUI to accommodate new functionality
  • Improved Error Handling
  • Improved Error Messages
  • Improved Report Saving
  • Bug fixes – addressed issue that was occurring when user did multiple scans back-to-back without closing down program.  ADPinger is now capable of multiple simultaneous runs.

ADPinger v0.9.9.9

Beta Created by: Jacob Morrison  –  adpinger@jakemorrison.name
I don’t consider myself a true programmer.  My day job is systems administration, but I do some coding in my spare time.  I created ADPinger to help me more effectively mange my AD environment, and it has.  I hope it does the same for you.

ADPinger is a VB.NET program designed in Visual Studio 2012 and tailored to the .NET 4.0 runtime environment.
Its purpose is to assist administrators in identifying old and unused computer accounts that can safely be deleted.
It is capable of generating an overall health status of an OU / Container after a scan.
It can also save the results of a scan to a CSV report for more robust data manipulation and tracking.

ADPinger is capable of returning 3 various states of ICMP response.:

  1. Success – the object is actively pinging
  2. Timed Out – the object has a DNS entry that resolved, but it is not currently pinging (this status typically indicates an object that is still active in the environment but is currently powered down)
  3. Unknown Host – the object did not resolve against DNS (This status typically indicates an object is nor longer in the environment)