Version: 2.0.6 (GUI) / 2.0.2 (CLI) Author: myTech.Today License: All rights reserved
The App Installer is a comprehensive cross-platform PowerShell application installer system for Windows, macOS, and Linux. It provides both a modern graphical user interface (GUI) for Windows and a powerful command-line interface (CLI) that works on all platforms for installing and managing 271+ essential applications with real-time status tracking, version detection, and centralized logging.
- Windows: Full GUI and CLI support (PowerShell 5.1+ or PowerShell 7.2+)
- macOS: CLI support with Homebrew integration (PowerShell 7.2+)
- Linux: CLI support with apt/dnf/pacman/snap (PowerShell 7.2+)
🎉 Major Cross-Platform Release!
- ✅ Cross-Platform CLI: app-installer-cli.ps1 now works on Windows, macOS, and Linux
- ✅ Graceful GUI Degradation: app-installer.ps1 detects platform and offers CLI fallback on non-Windows
- ✅ Shared Core Module: New AppInstallerCore.psm1 eliminates code duplication
- ✅ Dynamic App Registry: Loads from apps-manifest.json instead of hardcoded arrays
- ✅ Multi-Package Manager: Supports winget, brew, apt, dnf, pacman, snap
- ✅ Platform-Aware Filtering: Shows only apps available for your platform
- ✅ Cross-Platform Paths: Automatic path handling for each OS
See REFACTORING-SUMMARY.md for complete details.
✅ Multi-Platform Support - Works on Windows, macOS, and Linux ✅ Automatic Platform Detection - Detects OS and selects appropriate package manager ✅ Package Manager Abstraction - Supports winget, brew, apt, dnf, pacman, snap ✅ Platform-Aware App Filtering - Shows only apps available for your OS ✅ Cross-Platform Paths - Automatic path handling for each operating system ✅ Shared Core Module - AppInstallerCore.psm1 eliminates code duplication ✅ Dynamic App Registry - Loads 271+ apps from apps-manifest.json ✅ Graceful Degradation - GUI offers CLI fallback on non-Windows platforms
✅ Modern Windows Forms Interface - Professional GUI with responsive design and DPI scaling ✅ Platform Detection - Detects non-Windows platforms and offers CLI fallback ✅ Responsive GUI Helper - Centralized DPI scaling from GitHub for multi-monitor and high-DPI support ✅ Generic Logging Module - Centralized logging system with monthly rotation and markdown format ✅ Real-Time Search & Filter - Instantly filter 271 applications by name, category, or description ✅ Real-Time Progress Tracking - Dynamic progress bar and status updates as you select apps ✅ Category Organization - Applications grouped into 13 categories for easy browsing ✅ Checkbox Selection - Select individual apps, all apps, or only missing apps ✅ Export/Import Profiles - Save and load application selections for backup or deployment ✅ Uninstall Applications - Remove installed applications with confirmation and progress tracking ✅ Live Status Display - See installation status, version numbers, and progress in real-time ✅ HTML Console Output - Professional, color-coded installation logs in right panel ✅ Marketing Information - Company info and service details displayed in HTML panel ✅ Responsive Layout - Adapts to different screen sizes and resolutions (VGA to 8K UHD) ✅ Professional Buttons - Standard Windows-style buttons with proper spacing
✅ Cross-Platform CLI - Works on Windows, macOS, and Linux ✅ Interactive Menu - User-friendly text-based interface ✅ Multi-Select - Select multiple apps with ranges (e.g., "1,3,5-10") ✅ Category Selection - Select all apps in a category (e.g., "C:Browsers") ✅ Version Detection - Automatically detects installed applications (platform-dependent) ✅ Selective Installation - Install individual apps, all apps, or only missing apps ✅ Generic Logging Module - Centralized logging with monthly rotation (scriptname-yyyy-MM.md format) ✅ Centralized Logging - Platform-specific log paths (Windows: %USERPROFILE%, macOS/Linux: ~/.mytech-today) ✅ Package Manager Integration - Leverages platform-specific package managers ✅ Custom Installers - Specialized scripts for apps not available via package managers ✅ Error Handling - Comprehensive error handling with detailed error messages ✅ Silent Installation - Most apps install silently without user interaction ✅ Administrator Privileges - Automatic elevation and privilege checking (platform-dependent) ✅ Automatic Shortcuts - Creates Start Menu shortcuts for web-based apps (Windows only)
Note: Application availability varies by platform. The installer automatically filters and shows only apps available for your operating system. Cross-platform package mappings are defined in apps-manifest.json.
- Google Chrome, Brave Browser, Firefox, Vivaldi, Opera, LibreWolf, Tor Browser, Waterfox
- Microsoft Edge, Chromium, Arc Browser, Ungoogled Chromium, Midori Browser, Min Browser, Floorp
- Notepad++, Git, Python, Node.js, Docker Desktop, Sublime Text, Geany, NetBeans IDE
- IntelliJ IDEA Community, FileZilla, Visual Studio Code, Postman, PyCharm Community
- Eclipse IDE, Atom Editor, Brackets, Vagrant, Android Studio, RStudio, Rider
- DataGrip, WebStorm, CLion, GoLand, Vim, CMake, Lazygit
- LibreOffice, Obsidian, Joplin, Foxit PDF Reader, Sumatra PDF, Notion
- 7-Zip, Adobe Acrobat Reader, Apache OpenOffice, Calibre, Zotero, Trello
- WPS Office, PDF24 Creator, Typora, AnyDesk
- OBS Studio, GIMP, Audacity, Handbrake, OpenShot, ClipGrab, Inkscape, Paint.NET
- Avidemux, MPC-HC, Foobar2000, VLC Media Player, FFmpeg, Krita, OpenToonz
- Kdenlive, Shotcut, darktable, RawTherapee, Spotify, iTunes, AIMP
- DaVinci Resolve, Tenacity, Blender
- AngryIP Scanner, CCleaner, Bitvise SSH Client, Belarc Advisor, O&O ShutUp10
- FileMail Desktop, PowerToys, Everything, Greenshot, Bulk Rename Utility
- Revo Uninstaller, WinDirStat, Core Temp, GPU-Z, CrystalDiskInfo
- Sysinternals Suite, winget Auto-Update, ShareX, Rainmeter, Speccy
- BleachBit, Rufus, Ventoy, HWiNFO
- Avira Antivirus, Kaspersky Security Cloud, AVG AntiVirus Free, Avast Free Antivirus
- Malwarebytes, Bitwarden, 1Password, LastPass, Dashlane, Sophos Home
- KeePassXC, NordPass, Proton Pass
- Telegram Desktop, Signal, Thunderbird, Discord, Slack, Zoom, Microsoft Teams
- Skype, WhatsApp Desktop, Viber, Element
- Blender, FreeCAD, LibreCAD, KiCad, OpenSCAD, Wings 3D, Sweet Home 3D
- Dust3D, MeshLab, Slic3r
- Nmap, Wireshark, Zenmap, PuTTY, Advanced Port Scanner, Advanced IP Scanner
- Fing CLI, GlassWire, NetLimiter, TCPView
- Java Runtime Environment, .NET Desktop Runtime 6, .NET Desktop Runtime 8
- Visual C++ Redistributable, Go Programming Language, Rust, PHP
- Trelby, KIT Scenarist, Storyboarder, Manuskript, yWriter, Celtx
- bibisco, Scribus, FocusWriter
- Steam, Epic Games Launcher, GOG Galaxy, EA App, Ubisoft Connect
- Battle.net, Itch.io
- Google Drive, Dropbox, OneDrive, MEGA, pCloud, Sync.com
- TeamViewer, AnyDesk, Chrome Remote Desktop, TightVNC, RustDesk
- UltraVNC, Parsec
- Veeam Agent FREE, EaseUS Todo Backup Free, Duplicati, Cobian Backup
- FreeFileSync, Syncthing, Macrium Reflect Free
- Anki, GeoGebra, Stellarium, MuseScore, Moodle Desktop, Scratch Desktop
- Celestia
- GnuCash, HomeBank, Money Manager Ex, KMyMoney, Skrooge
- Firefly III Desktop
- Grok AI (Desktop & Start Menu)
- ChatGPT (Desktop & Start Menu)
- dictation.io (Desktop & Start Menu)
- Uninstall McAfee Products
- PowerToys, AutoHotkey, Everything
- Operating System: Windows 10 (1809+), Windows 11, Windows Server 2016+
- PowerShell: 5.1 or later (PowerShell 7.2+ recommended for best experience)
- Privileges: Administrator rights recommended (see Administrator & Antivirus Notes below)
- Package Manager: winget (Windows Package Manager) - installed by default on Windows 11
- .NET Framework: 4.7.2 or later (for GUI version only)
- Note: The GUI installer (
app-installer.ps1) will automatically detect and offer to install .NET Framework 4.8 if not present
- Note: The GUI installer (
- Operating System: macOS 10.13 (High Sierra) or later
- PowerShell: 7.2 or later (install via:
brew install --cask powershell) - Package Manager: Homebrew (install from https://brew.sh)
- Privileges: sudo access recommended for system-wide installations
- Note: GUI mode not available - use CLI mode (
app-installer-cli.ps1)
- Operating System: Ubuntu 18.04+, Debian 10+, Fedora 33+, Arch Linux, or compatible
- PowerShell: 7.2 or later (see https://docs.microsoft.com/powershell)
- Package Manager: apt, dnf, pacman, or snap (automatically detected)
- Privileges: sudo/root access recommended for system-wide installations
- Note: GUI mode not available - use CLI mode (
app-installer-cli.ps1)
- Always run elevated:
- When using the PowerShell scripts (
app-installer.ps1,app-installer-cli.ps1): start PowerShell as Administrator and run the scripts from an elevated session. - When using the packaged EXE (for example,
install-GUI.exebuilt via IEXPRESS): allow the UAC elevation prompt and run the EXE as Administrator.
- When using the PowerShell scripts (
- Why elevation is required:
- Installing software, managing services, and modifying system-wide settings (registry, Program Files, etc.) requires administrative rights.
- Some installers and winget operations will fail or behave unpredictably without elevation.
- Antivirus / SmartScreen behavior:
- Because the EXE is a custom IEXPRESS self-extracting package, many antivirus products and/or Windows SmartScreen may flag, warn about, or quarantine the EXE on first run.
- If you trust the source (this repository and your own build), you may need to:
- Unblock the EXE in the file properties dialog.
- Mark it as allowed in your antivirus / endpoint protection.
- Choose "More info" → "Run anyway" if SmartScreen shows a warning.
- Recommendation:
- Prefer running the raw PowerShell script (
app-installer.ps1) from an elevated PowerShell session when testing or developing. - Use the EXE for deployment/hand-off scenarios, with the expectation that security software may require manual approval.
- Prefer running the raw PowerShell script (
-
Clone or download the repository:
git clone https://github.com/mytech-today-now/PowerShellScripts.git cd PowerShellScripts\app_installer
-
Ensure winget is installed (Windows 11 has it by default):
- For Windows 10: Install "App Installer" from Microsoft Store
- Verify:
winget --version
-
Run as Administrator:
GUI Version (Windows Only - Recommended):
.\app-installer.ps1Command-Line Version:
.\app-installer-cli.ps1
-
Install PowerShell 7.2+:
brew install --cask powershell
-
Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Clone the repository:
git clone https://github.com/mytech-today-now/PowerShellScripts.git cd PowerShellScripts/app_installer -
Run the CLI installer:
pwsh ./app-installer-cli.ps1
-
Install PowerShell 7.2+:
- Ubuntu/Debian:
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update sudo apt-get install -y powershell - Fedora:
sudo dnf install powershell
- Arch Linux:
yay -S powershell-bin
- Ubuntu/Debian:
-
Clone the repository:
git clone https://github.com/mytech-today-now/PowerShellScripts.git cd PowerShellScripts/app_installer -
Run the CLI installer:
pwsh ./app-installer-cli.ps1
Launch the graphical interface:
.\app-installer.ps1GUI Features:
- Search & Filter - Real-time search box to filter applications by name, category, or description
- Type to instantly filter the list (e.g., "chrome", "browser", "video")
- Clear button (X) to reset search
- Result count shows "Showing X of 271 applications"
- Checkbox states preserved when filtering
- Application Table - Browse all 271 applications with checkboxes
- Category Grouping - Applications organized by category
- Status Column - Shows "Installed" with version or "Not Installed"
- Progress Tracking - Real-time progress: "0 / 5 applications" updates as you select
- Buttons:
- Refresh Status - Re-scan for installed applications
- Select All - Select all applications (filtered or all)
- Select Missing - Select only applications not currently installed
- Deselect All - Clear all selections
- Export Selection - Save selected applications to a JSON profile
- Import Selection - Load applications from a JSON profile
- Install Selected - Install checked applications
- Uninstall Selected - Remove checked applications (only installed apps)
- Exit - Close the application
Progress Display:
- When you select apps: Shows "0 / X applications" (X = number selected)
- During installation: Shows "Y / X applications" (Y = completed, X = total)
- Progress bar fills as each application installs
Interactive Menu:
.\app-installer-cli.ps1Menu Options:
- 1-212: Install individual application by number
- A: Install all applications
- M: Install missing applications only
- U: Check for updates
- E: Export selection to profile
- I: Import selection from profile
- X: Uninstall/Remove selected applications
- S/R: Show/Refresh status
- Q: Quit
Command-Line Parameters:
Install all applications:
.\app-installer-cli.ps1 -Action InstallAllInstall only missing applications:
.\app-installer-cli.ps1 -Action InstallMissingShow status only:
.\app-installer-cli.ps1 -Action StatusInstall specific application:
.\app-installer-cli.ps1 -AppName "Chrome"Both the GUI and CLI versions support exporting and importing application selection profiles. This feature is useful for:
- Backing up your application selections
- Deploying the same set of applications to multiple machines
- Sharing configurations with team members
- Standardizing installations across an organization
Profiles are saved as JSON files with the following structure:
{
"Version": "1.0",
"Timestamp": "2025-11-10T18:40:47",
"ComputerName": "MYTECHTODAY-LAP",
"UserName": "kyle",
"InstallerVersion": "1.3.8",
"Applications": [
"Google Chrome",
"7-Zip",
"VLC Media Player",
"Visual Studio Code",
"Git"
]
}Profiles are saved to: %USERPROFILE%\mytech.today\app_installer\profiles\
Default filename format: profile-{ComputerName}-{yyyy-MM-dd-HHmmss}.json
-
Export Selection:
- Select the applications you want to export
- Click the "Export Selection" button
- Choose a location and filename (or use the default)
- The profile will be saved with metadata including timestamp, computer name, and user
-
Import Selection:
- Click the "Import Selection" button
- Browse to and select a profile JSON file
- Review the confirmation dialog showing the number of applications
- Click "Yes" to select the applications from the profile
- Applications not available in the current installer version will be listed as warnings
-
Export Selection:
- From the main menu, press E
- Enter the application numbers to export (e.g., "1,3,5" or "1-10")
- Enter a filename or press Enter to use the default
- The profile will be saved to the profiles directory
-
Import Selection:
- From the main menu, press I
- Select a profile from the list or enter a full path
- Review the profile information and confirm installation
- Applications will be installed automatically if confirmed
When importing a profile, the installer will:
- ✅ Identify which applications from the profile are available in the current installer
⚠️ Warn about applications that are not available (e.g., removed or renamed apps)- ✅ Proceed with installing only the available applications
- 📝 Log all import operations including missing applications
app_installer/
├── app-installer.ps1 # GUI-based installer (recommended)
├── app-installer-cli.ps1 # Command-line menu-driven installer
├── apps/ # Individual app installation scripts (212 total)
│ ├── chrome.ps1 # (Uses winget)
│ ├── brave.ps1 # (Uses winget)
│ ├── firefox.ps1 # (Uses winget)
│ ├── vscode.ps1 # (Uses winget)
│ ├── python.ps1 # (Uses winget)
│ ├── docker.ps1 # (Uses winget)
│ ├── obs.ps1 # (Uses winget)
│ ├── belarc.ps1 # Custom installer
│ ├── shutup10.ps1 # Custom installer
│ ├── filemail.ps1 # Custom installer
│ ├── grok-shortcuts.ps1 # Creates shortcuts
│ ├── chatgpt-shortcuts.ps1 # Creates shortcuts
│ ├── dictation-shortcut.ps1 # Creates shortcuts
│ ├── uninstall-mcafee.ps1 # McAfee removal tool
│ └── ... (89 more scripts)
├── README.md # This file
├── CHANGELOG.md # Version history
└── ai_prompts/
└── prompt.01.md # Original requirements
Both the GUI and CLI versions support uninstalling applications that were previously installed via winget.
- Select Applications - Check the applications you want to uninstall
- Click "Uninstall Selected" - Dark red button next to "Install Selected"
- Confirm Uninstall - Review the list of applications to be removed
- Progress Tracking - Watch real-time progress as apps are uninstalled
- Completion - View success/fail statistics
Safety Features:
⚠️ Confirmation required - Cannot uninstall without explicit confirmation⚠️ Only installed apps - Only shows applications that are currently installed⚠️ Cannot undo - Uninstall is permanent (warning shown in confirmation)- ✅ Detailed logging - All uninstall operations logged to centralized log
- ✅ Error handling - Failed uninstalls are reported with error details
- Select Menu Option "X" - Choose "X. Uninstall/Remove Selected Applications"
- Enter Application Numbers - Type numbers (e.g., "1,3,5" or "1-10")
- Confirm Uninstall - Review the list and confirm with "Y"
- Progress Tracking - Watch progress with success/fail counts
- Completion - View final statistics
Example:
.\app-installer-cli.ps1
# Select "X" from menu
# Enter: 1,5,10
# Confirm: YImportant Notes:
⚠️ Applications without a WingetId cannot be uninstalled via this tool⚠️ Some applications may require manual uninstallation from Windows Settings⚠️ Uninstalling critical system applications may cause issues- ✅ The application list automatically refreshes after uninstall completes
All activities are logged to:
%USERPROFILE%\mytech.today\logs\install-yyyy-MM.md
Log Format: Markdown table with icons
Log Rotation: Monthly (one file per month)
Log Levels: ℹ️ INFO,
Example Log Entry:
| 2025-11-02 10:30:00 | ✅ **SUCCESS** | Google Chrome installed successfully |Both scripts maintain an internal registry of all 212 supported applications with:
- Name: Display name
- ScriptName: Individual installation script filename
- WingetId: Windows Package Manager ID (if available)
- Category: Application category for organization
- Detection: Checks if application is already installed via winget or registry
- Method Selection:
- If custom script exists in
apps/folder → Use custom script - If WingetId is defined → Use
winget install - Otherwise → Display warning
- If custom script exists in
- Execution: Run installation with silent/automated parameters
- Logging: Log all activities to centralized log file
- Status: Display success/failure with color-coded output
- Primary: Uses
winget listfor fast, accurate detection - Fallback: Checks Windows registry for installed programs
- Display: Shows version number or "Installed" if version unavailable
-
Add to Application Registry in
apps-manifest.json:[PSCustomObject]@{ Name = "MyApp" ScriptName = "myapp.ps1" WingetId = "Publisher.MyApp" Category = "Utilities" }
-
Create Custom Script (optional) in
apps/myapp.ps1:# Custom installation logic Write-Host "Installing MyApp..." -ForegroundColor Cyan winget install --id Publisher.MyApp --silent --accept-package-agreements --accept-source-agreements
-
Test Installation:
.\app-installer.ps1
Edit the Category property in the application registry to organize apps differently. Available categories:
- Browsers, Development, Productivity, Media, Utilities, Security
- Communication, 3D & CAD, Networking, Writing, Shortcuts, Runtime, Maintenance
Error: "winget is not available on this system"
Solutions:
- Install "App Installer" from Microsoft Store
- Update Windows to latest version
- Verify:
winget --version - Restart PowerShell after installation
Error: "Installation failed. Check log for details."
Solutions:
- Check log file:
C:\mytech.today\logs\install-yyyy-MM.md - Verify internet connection
- Run as Administrator
- Try manual installation of specific app
- Check if antivirus is blocking installation
- Ensure winget is up to date:
winget upgrade --id Microsoft.Winget.Source
Issue: Installed app shows as "Not Installed"
Causes:
- App installed via portable version
- App installed in non-standard location
- Registry entry doesn't match detection pattern
- winget database not updated
Solutions:
- Click "Refresh Status" button in GUI
- Restart the application
- Detection is informational only; app will still function
Issue: Text too small, buttons clipped, or layout issues
Solutions:
- Ensure .NET Framework 4.7.2 or later is installed
- The GUI installer will automatically detect and offer to install .NET Framework 4.8 if needed
- If automatic installation fails, download manually from: https://dotnet.microsoft.com/download/dotnet-framework/net48
- Check Windows display scaling settings
- Try running on different monitor if using multi-monitor setup
- GUI automatically adapts to DPI scaling
Issue: GUI fails to start with assembly loading errors
Solutions:
- Run
app-installer.ps1- it will automatically detect missing .NET Framework - If prompted, allow the script to install .NET Framework 4.8
- A system restart may be required after .NET Framework installation
- If automatic installation fails, install manually from Microsoft's website
- Verify installation by running
app_installer\test-dotnet-check.ps1
✅ Run as Administrator - Required for most installations
✅ Check winget availability - Ensures smooth installation
✅ Review logs - Check C:\mytech.today\logs\ for details
✅ Install missing only - Saves time on already-configured systems
✅ Restart after major installs - Some apps (Docker, Python) require restart
✅ Use GUI version - More user-friendly and provides better feedback
✅ Select apps carefully - Don't install everything if you don't need it
- All downloads use HTTPS
- winget packages are verified by Microsoft
- Custom scripts download from official sources only
- McAfee removal uses official MCPR tool
- No credentials or sensitive data stored
- All installations run with user consent
- Logs contain no sensitive information
- ✅ Access Denied Fix - All
Test-Pathcalls wrapped inSafe-TestPathhelper with try/catch and-ErrorAction SilentlyContinueto suppressUnauthorizedAccessExceptionon protected paths - ✅ Security Warning Fix -
Unblock-Filecalled after everyCopy-Itemduring self-installation so scripts copied to the system location are automatically unblocked (removes Zone.Identifier ADS) - ✅ Feature Parity - Both GUI and CLI scripts share the same
Safe-TestPathhelper andUnblock-Fileintegration
- ✅ Chrome Install Fix - Added
--forceflag to winget install for reliable Chrome installation - ✅ Exit Code Preservation -
platform-detect.ps1returns actual exit codes instead of hardcoded1 - ✅ Smart Success Detection - Output pattern matching for "already installed" / "Successfully installed"
- ✅ WinGet Already-Installed Handling - GUI accepts
-1978335191as success from custom scripts
- ✅ Self-Healing Dependencies - Auto-downloads missing
platform-detect.ps1andapps-manifest.jsonfrom GitHub - ✅ System Path Fix - Resolves failures when running from system install location
- ✅ O&O ShutUp10 Fix -
-NonInteractiveswitch prevents GUI queue blocking - ✅ Exit Code 30 Accepted - O&O ShutUp10's exit code 30 treated as success
- ✅ Dependency Copy Fix - Copies
platform-detect.ps1andapps-manifest.jsonto system install location
- ✅ Major Cross-Platform Release - Full refactoring for Windows, macOS, and Linux
- ✅ Shared Core Module - AppInstallerCore.psm1 eliminates code duplication
- ✅ Dynamic App Registry - Loads 271+ apps from apps-manifest.json
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Test thoroughly on Windows 10 and Windows 11
- Update documentation if adding new features
- Submit a pull request with detailed description
For issues, questions, or contributions:
- GitHub Issues: https://github.com/mytech-today-now/PowerShellScripts/issues
- Documentation: See
.augment/folder for development guidelines - Company Website: https://mytech.today
See CHANGELOG.md for detailed version history.
Recent Versions:
- v2.0.6 (GUI) / v2.0.2 (CLI) - Access Denied fix (Safe-TestPath), security warning fix (Unblock-File)
- v2.0.5 (GUI) / v2.1.0 (Platform-Detect) - Chrome install fix, exit code preservation, smart success detection
- v2.0.4 (GUI) - Self-healing dependencies at system install path
- v2.0.3 (GUI) - O&O ShutUp10 non-interactive fix
- v2.0.0 (GUI & CLI) - Major cross-platform release
Copyright (c) 2025 myTech.Today. All rights reserved.
This software is proprietary and confidential. Unauthorized copying, distribution, or use is strictly prohibited.
myTech.Today Professional IT Services - Serving the Midwest https://github.com/mytech-today-now/PowerShellScripts
Service Area:
- Chicagoland, IL
- Southern Wisconsin
- Northern Indiana
- Southern Michigan
Expertise:
- 20+ years of IT experience
- Windows automation and deployment
- PowerShell scripting and development
- System administration and support
Last Updated: 2026-03-17 Version: 2.0.6 (GUI) / 2.0.2 (CLI) Maintained by: myTech.Today
