Arposh Client System Administration Tool (ACSA)

[Update] Arposh Windows System Administration tool 2.0 has been released and replaces the Arposh Client System Administration tool.

Download link:  Arposh Client System Administration

When I was first starting out in the help desk of a large company, everything was done by sneakernet.  I wanted a way to do things remotely to be more efficient, but was met with resistance by management who thought it was not 'improving customer service' because it lessened face time with the customers.  I tried explaining to my supervisor that the reason we have customers (i.e. the company's employees) is because they need to get their work done and they just want their computers to work.  Another hurdle that stood in the way is the retraining of the help desk staff in resolving issues remotely.  To solve the second issue, I decided that I needed a tool that brought the majority of the standard help desk applications to one place and made it easier to troubleshoot and fix issues.  The first issue resolved itself after management saw how quickly tickets were being resolved and how impressed the users were with the help desk's remote 'magic'.

The Arposh Client System Administration tool (ACSA) started out as a way to retrieve information from machines remotely.  When a user would call, you enter in the name of the computer they are using and it shows you basic information about the machine.  As the tool grew, it went from being only able to gather system info, to gathering local group information, installed software, startup items, running processes and viewing log files.  Now that the tool provided a plethora of information, there became a need to act on the information that was being gathered.  This led to being able to modify local admin groups, uninstalling software, removing startup items and killing processes on remote machines.

Since then, ACSA has grown to what you see below:



ACSA Requirements:
- Powershell v2
- Quest ActiveDirectory Tools for Powershell (http://www.quest.com/powershell)
- PSExec.exe (http://technet.microsoft.com/en-us/sysinternals/bb897553)
Optional: Trace32.exe (For tailing log files)

Usage: Run the ArposhCSA.ps1 script and type in a partial computer name to search for it in Active Directory.  This brings up a second form with a list of computers that match the search criteria and the users that are logged into them.  If you already know the name of the computer you would like to manage remotely, you can type that directly into the text box on the main form. 

Features:
  • Connects to currently logged-in domain on startup
  • Search for PC - Search Active Directory for computers matching the string in the textbox
  • System Info - Gathers info about PC, user session, make/model, hardware, OS, networking and McAfee
  • Local Admins - Enumerates local administrators and allows you to remove them
  • Applications - Enumerates installed software and allows you to uninstall
  • Startup Items - Enumerates startup items and allows you to remove them
  • Processes - Enumerates running processes and allows you to kill them
  • Remote Desktop - Remote desktop into computer
  • Remote Assistance - Initiate remote assistance session with remote computer
  • View C Drive - Opens explorer to the C drive of remote computer
  • Restart Computer - Restarts remote computer (Includes confirmation)
  • File Menu
    • Connect to domain... - Connect to a different domain
    • Find User in AD - Enter user's name, search for it in AD and output to Grid View
    • Find User on PC - Enter computer name, see who is logged into it and then search for that user in AD
  • View Menu
    • View McAfee AntiVirus logs
    • View WSUS logs
    • View Event Viewer
    • View Services
    • View Local Users/Groups
  • Quick Fix
    • Group Policy Update - Run 'gpupdate /force'
    • Lock Computer - Lock the remote computer
    • McAfee DAT Update - Updates DATS
    • Reader Fix IE Plugin - Update Reader's exe path in registry to fix IE plugin
    • Rename Computer - Renames remote computer and reboots it
    • WSUS - Detect - Run 'wuauclt /detectnow'
    • WSUS - Report - Run 'wuauclt /reportnow'
    • WSUS - Reset Client ID - Fixes an issue where computers do not show up in WSUS

Download link:  Arposh Client System Administration

In later posts, I will go into detail about how some of the functions in this tool work. Stay tuned! 

Disclaimer: This was the first GUI I wrote and some of the older code is not written with coding best practices in mind (clarity of variables, spacing, etc).  Be gentle.  As always, never run a script without knowing and understanding what it is capable of.  Just because it works in my environment, does not mean it will work in yours. Test, test, test.  Since you read the disclaimer, I'll also let you know that there are a few easter eggs hidden in the code that give extra functionality.  Cheers!