Busy Bee Console is a great tool for IT guy's daily life. It is dedicated for IT field technicians to perform remote troubleshooting in an enterprise domain environment. It's made for people who has zero knowledge of Powershell and still want to enjoy the power of powershell. BBC is a WPF application coded in Powershell and XAML. WinRM, network sharing and RPC need to be running on remote computers. You need a domain admin account to run this program.
Contributions : Pull requests and/or suggestions are more than welcome.
Main Features:
Note: Most of the features are supposed to run against the target, a remote computer identified by a host name or IP address.
- Enable PSRemoting and test the connection
- Target network status mornitoring (ping, permission, RDP and uptime)
- Check pending reboot
- Reboot remote computer (Single or batch)
- Service management
- SCCM remoting management
- Disable/Enable UAC
- Enable/Diable firewall (3 different ways)
- Check current logon users
- User profile management
- Computer software/hardware information retrieval, including all connected monitors.
- Task/Process management
- Uninstall software (Only works for MSI packages)
- Open cmd/Powershell window with SYSTEM account on the target
- BSOD analysis, tells you which kernel module causes it; modify Windows recovery configuration.
- AD user/computer object properties retrieval, BitLocker recovery key retrieval. (Domain users only)
- Local admin management/RDP user management
- Expandability: Remotely start a program on the target/push a script (bat/ps1) to the target and run.
- Clear event logs
- Windows Update Management
Select which service manager you want to download updates from.
Select KBs of your choice to install/uninstall
Catagory/severity filters
Update history list
Show Windows update service status
Hide/unhide selected updates - Network scanner ( A similar implementation of PSScanner, multi-threading )
- Remote Task scheduler
- Dell BIOS remote management
- HP BIOS remote management
- Windows product key retrieval.
- Local users and groups remote management
- Old-school terminal style GUI with Runspace multi-threading.
- Icons are embedded into the script with base64 encoding.
- Remote with your choice of the current user or specified credential.
- PSRemoting works with both hostname and IP address
- TCP/UDP port scanner
The best way to utilize multi-threading in Powershell WPF application:
This is a typical producer-consumer multi-threading model. Every time when the main thread generates a task, it creats a thread from thread pool(in Powershell, we call it RunspacePool). Each thread then generates data and sends it to a concurrent queue, which is a thread safe class implemented in .Net platform. Public variables are stored in a synchronized hash table and protected by mutex. Here is the data flow diagram:
Dependencies:
- Windows SysInternals Suite by Mark Russinovich
- System-Explorer-for-Windows by Trevor Jones
- PSParallel Module for multi-threading
- PSWindowsUpdate module for more flexible control
- Invoke-CommandAs Module
- ActiveDirectory Module for all AD queries
- HP-CMSL for HP BIOS remote management
- Dell Command | Powershell Provider for Dell BIOS remote management
- Nirsoft Blue Screen View (https://www.nirsoft.net/utils/bluescreenview.zip) installed automatically.
Screenshots: