User Admin Module Overview
⚠️ Important Disclaimer
These PowerShell scripts are provided as-is for educational and administrative purposes. While I’ve tested them in various environments, using them in production systems is entirely at your own risk. I cannot be held responsible for any unintended consequences, data loss, or system disruptions that may occur.
Remember: PowerShell is like a lightsaber - powerful but potentially dangerous in the wrong hands. Use responsibly, and may the Force be with you! 🛡️
Table of Contents
- Table of Contents
- Module Overview
- ModuleManagement
- ADFunctions
- Azure
- CertificateUtilities
- Database
- EnvironmentManagement
- Exchange
- FileOperations
- JekyllBlog
- Logging
- MediaManagement
- Network
- PKICertificateTools
- PrintManagement
- ProcessServiceSchedules
- RemoteConnections
- Replication
- Security
- Shell
- ShutdownCommands
- Teams
- Testing
- Utilities
- Virtualization
- Weather
Module Overview
Scripts v2.0 gives the UserAdminModule a fresh coat of paint and a neatly labelled toolbox. The release retires dot-sourcing in favour of clean module imports, so your profile scripts load faster than the coffee machine warms up.
- Module-first loading: Wave goodbye to dot-sourcing; functions now ship in a proper module so imports stay predictable and portable.
- Helper scripts at the ready:
Import-PersonalModules.ps1
wrangles profile imports, whileNew-PSM1Module.ps1
scaffolds new function packs without rummaging through legacy snippets. - Categorized muscle: The module leans into broader, service-focused categories so you can dive straight into AD, Azure, or whichever drawer holds the tool you need.
Browse the categories below to explore the reorganised toolkit, open each function page for usage guidance, and enjoy knowing the drawers finally close without a shove.
ℹ️ Important Notes on Usage
While these scripts have been published and tested in various environments, some functions may encounter issues depending on your specific setup, permissions, or system configuration. If you run into any problems or unexpected behavior, please don’t hesitate to report it! Each script explanation page includes an issue submission feature at the bottom - simply use that to let me know about any bugs, compatibility issues, or suggestions for improvement. Your feedback helps make these tools better for everyone!
ModuleManagement
The ModuleManagement category provides essential tools for managing and importing PowerShell modules within the UserAdminModule ecosystem. These utilities help streamline module loading and ensure proper initialization of the various function categories available in the toolkit.
Category | Function |
---|---|
ModuleManagement | Import-PersonalModules |
ADFunctions
The ADFunctions category contains a comprehensive collection of PowerShell tools for Active Directory management and administration. These functions cover user account management, group operations, domain controller queries, Group Policy management, and various AD diagnostic and reporting capabilities. Whether you’re managing user lifecycles, troubleshooting authentication issues, or performing bulk operations, this category provides the essential toolkit for AD administrators.
Azure
The Azure category provides a robust set of PowerShell functions for managing Microsoft Azure and Microsoft 365 services. These tools enable seamless connectivity to Azure subscriptions, Azure AD (now Entra ID), Microsoft Graph API, and various Azure services. Whether you’re managing user identities, configuring enterprise applications, handling guest access, or working with Azure resources, this category offers the essential functions for cloud administration and automation.
Category | Function |
---|---|
Azure | Connect-toAzure |
Azure | Connect-toAzureSubscription |
Azure | Connect-toMSGraphApplicationWithCertificate |
Azure | Convert-AzuretoOnPrem |
Azure | Get-AccessToken |
Azure | Get-AzEnterpriseAppConfig |
Azure | Get-EntraGuestMembers |
Azure | Get-MFAMethods |
Azure | Get-MgAdmins |
Azure | Get-MgUserDetails |
Azure | Get-O365AdminGroupsReport |
Azure | Invoke-AzureADApp |
Azure | Invoke-AzureMailApp |
Azure | Manage-AzureADApp |
Azure | New-AzureADDynamicGroup |
Azure | New-EntraGuestInvitation |
Azure | New-EntraGuestInvitationEntra |
Azure | Send-EmailUsingAzureApp |
Azure | Set-EntraGuestMember |
CertificateUtilities
The CertificateUtilities category offers specialized PowerShell functions for certificate management, security assessment, and cryptographic operations. These tools help administrators monitor certificate expiration dates, analyze SSL/TLS configurations, manage remote certificates, and handle code signing certificates. Essential for maintaining security compliance and preventing certificate-related outages in enterprise environments.
Category | Function |
---|---|
CertificateUtilities | Get-CertificateExpiry |
CertificateUtilities | Get-RemoteCertificates |
CertificateUtilities | Get-IISCertificates |
CertificateUtilities | Get-RemoteCipherDetails |
CertificateUtilities | Get-RemoteLdapCertDetails |
CertificateUtilities | Install-RemoteCertificate |
CertificateUtilities | New-CodeSigningCert |
CertificateUtilities | Set-DigitalSignature |
Database
The Database category provides PowerShell functions for database administration and management tasks. These tools enable administrators to discover database instances, perform health checks, and manage database-related operations across various database platforms. Essential for database administrators who need to automate routine database management tasks and monitoring.
Category | Function |
---|---|
Database | Get-DBInstances |
EnvironmentManagement
The EnvironmentManagement category contains PowerShell functions for managing system environment variables and paths. These tools help administrators configure and maintain environment settings across local and remote systems, ensuring proper application execution and system configuration. Critical for maintaining consistent environments in enterprise deployments.
Category | Function |
---|---|
EnvironmentManagement | Add-EnvPath |
EnvironmentManagement | Get-EnvPath |
EnvironmentManagement | Remove-EnvPath |
Exchange
The Exchange category provides comprehensive PowerShell functions for managing Microsoft Exchange Server and Exchange Online (Office 365) environments. These tools cover mailbox management, distribution groups, mail contacts, calendar permissions, message tracing, and connectivity operations. Essential for Exchange administrators handling both on-premises and cloud-based Exchange deployments, enabling efficient email system management and troubleshooting.
FileOperations
The FileOperations category offers a comprehensive suite of PowerShell functions for file system management, archiving, and data manipulation. These tools enable administrators to perform bulk file operations, manage archives, monitor file systems, convert file formats, and handle file permissions. Perfect for system administrators who need to automate file management tasks across multiple systems and maintain organized file structures.
JekyllBlog
The JekyllBlog category provides specialized PowerShell functions for managing Jekyll-based static websites and blogs. These tools help developers and content creators automate blog post creation, manage Jekyll servers, embed GitHub Gists, and handle various blogging workflows. Essential for technical writers and developers who maintain Jekyll-powered documentation sites and blogs.
Category | Function |
---|---|
JekyllBlog | Get-GistIframe |
JekyllBlog | New-BlogServer |
JekyllBlog | New-JekyllBlogPost |
JekyllBlog | New-JekyllBlogServer |
JekyllBlog | New-JekyllBlogSession |
JekyllBlog | Remove-JekyllBlogServer |
JekyllBlog | Show-JekyllBlogSite |
JekyllBlog | Start-JekyllBlogging |
Logging
The Logging category contains PowerShell functions for comprehensive event log management and analysis. These tools enable administrators to query Windows Event Logs, filter events by various criteria, monitor system events, and implement custom logging solutions. Critical for system monitoring, troubleshooting, and maintaining audit trails in enterprise environments.
Category | Function |
---|---|
Logging | Get-EventLogs |
Logging | Get-EventsFromTimeframe |
Logging | Get-FilteredEvents |
Logging | Get-LogonEvent |
Logging | Get-SystemEvent |
Logging | Get-WmiADEvent |
Logging | Initialize-EventLogging |
Logging | IISLogsCleanup |
Logging | Log-Event |
Logging | New-LogEvent |
Logging | Script4logging |
Logging | Write-Log |
MediaManagement
The MediaManagement category provides PowerShell functions for multimedia processing and management. These tools integrate with FFmpeg for video/audio manipulation, VLC for playlist creation, and various media analysis utilities. Perfect for content creators, system administrators managing media servers, and anyone working with multimedia files who needs to automate media processing workflows.
Category | Function |
---|---|
MediaManagement | Create-VLCPlaylists |
MediaManagement | FFMpeg-Install |
MediaManagement | Get-FFProbeAudioStreams |
MediaManagement | Get-FFProbeVideoInfo |
MediaManagement | Find-Movies |
MediaManagement | New-SpeechOutput |
MediaManagement | Remove-FFMpegVideoFileAudioStream |
MediaManagement | Set-FFMpegVideoSpeed |
MediaManagement | Set-TransmissionDefaultSettings |
MediaManagement | Start-Stream |
Network
The Network category offers a comprehensive set of PowerShell functions for network administration, diagnostics, and management. These tools cover IP address management, DNS operations, network connectivity testing, firewall configuration, and various network service monitoring capabilities. Essential for network administrators and system engineers who need to automate network-related tasks and troubleshoot connectivity issues.
Category | Function |
---|---|
Network | Connect-Proxy |
Network | Get-CidrIPRange |
Network | Get-ComputerIP |
Network | Get-HostIOResults |
Network | Get-ipInfo |
Network | Get-MullvadApiDetails |
Network | Get-PortService |
Network | Get-RemoteIPSettings |
Network | Get-RemoteServerPorts |
Network | Get-ServerIPInfo |
Network | Get-WhoIsInformation |
Network | Get-WTFismyIP |
Network | Send-MagicPacket |
Network | Set-DHCPIPAddress |
Network | Set-GoogleDynamicDNS |
Network | Set-StaticIPAddress |
Network | Set-WMIPermissions |
Network | Switch-VpnFailover |
Network | Switch-VpnFailoverMac |
Network | Update-CloudflareDDNS |
PKICertificateTools
The PKICertificateTools category provides specialized PowerShell functions for managing Public Key Infrastructure (PKI) and Certificate Authority (CA) operations. These tools enable administrators to backup and restore CA servers, manage certificate templates, handle certificate revocation lists, and perform various PKI-related administrative tasks. Critical for organizations managing their own certificate infrastructure and ensuring secure certificate lifecycle management.
Category | Function |
---|---|
PKICertificateTools | Backup-CAServer |
PKICertificateTools | Backup-CertificateServicesDatabase |
PKICertificateTools | Decommission-CA |
PKICertificateTools | Export-CRL |
PKICertificateTools | Find-CertificateByTemplate |
PKICertificateTools | Get-ADCertificates |
PKICertificateTools | Get-AdCertificateTemplate |
PKICertificateTools | Get-AllPKICertificates |
PKICertificateTools | Get-CACertificateInfo |
PKICertificateTools | Get-Oid |
PKICertificateTools | Get-PKICertificate |
PKICertificateTools | Get-PKICertificates |
PKICertificateTools | Get-PublishedTemplate |
PKICertificateTools | Get-RDGCAIssuedCert |
PKICertificateTools | Get-RDGCARequestPending |
PKICertificateTools | Get-Sid |
PKICertificateTools | Move-CertificateServicesDatabase |
PKICertificateTools | Optimize-DomainControllerTlsConfiguration |
PKICertificateTools | Publish-NewCRL |
PKICertificateTools | Remove-ADCSArtifacts |
PKICertificateTools | Remove-CAFromNTAuth |
PKICertificateTools | Remove-CAKeys |
PKICertificateTools | Remove-CASolution |
PKICertificateTools | Remove-CertLogDatabase |
PKICertificateTools | Remove-ExpiredCertificate |
PKICertificateTools | Revoke-AllValidCerts |
PKICertificateTools | Revoke-CACertificate |
PKICertificateTools | Show-CertificateTemplateInformation |
PKICertificateTools | Write-CAActivityLog |
PrintManagement
The PrintManagement category contains PowerShell functions for managing print servers, print spoolers, and printer operations. These tools help administrators monitor print services, troubleshoot printing issues, and manage print server configurations. Essential for IT support teams and system administrators responsible for maintaining printing infrastructure in enterprise environments.
Category | Function |
---|---|
PrintManagement | Disable-PrintSpooler |
PrintManagement | Enable-PrintSpooler |
PrintManagement | Get-PrintSpooler |
ProcessServiceSchedules
The ProcessServiceSchedules category provides PowerShell functions for managing Windows processes, services, and scheduled tasks. These tools enable administrators to monitor system processes, manage Windows services, and handle scheduled task operations across local and remote systems. Critical for system monitoring, troubleshooting performance issues, and maintaining automated task schedules.
Category | Function |
---|---|
ProcessServiceSchedules | Get-AllScheduledScripts |
ProcessServiceSchedules | Get-ProcessandServicePID |
ProcessServiceSchedules | Get-ProcessStatus |
ProcessServiceSchedules | Get-RemoteScheduledTasks |
ProcessServiceSchedules | Get-ScheduledScripts |
ProcessServiceSchedules | Get-ScheduledTasks |
ProcessServiceSchedules | Get-ServiceStatus |
ProcessServiceSchedules | New-ScheduledScript |
ProcessServiceSchedules | New-ScheduledTask |
ProcessServiceSchedules | Remove-ScheduledScript |
ProcessServiceSchedules | Restart-NinjaRMMService |
ProcessServiceSchedules | Restart-PrintSpooler |
ProcessServiceSchedules | Set-PrintSpoolerConfig |
ProcessServiceSchedules | Set-ServiceConfig |
ProcessServiceSchedules | Start-BullwallServices |
ProcessServiceSchedules | Start-Outlook |
ProcessServiceSchedules | Start-ProcessOnComputer |
ProcessServiceSchedules | Start-ScheduledScript |
ProcessServiceSchedules | Start-TaskList |
ProcessServiceSchedules | Start-ServicesInOrder |
ProcessServiceSchedules | Stop-FailedService |
ProcessServiceSchedules | Stop-NonRespondingProcesses |
ProcessServiceSchedules | Stop-ProcessOnComputer |
ProcessServiceSchedules | Stop-ScheduledScript |
RemoteConnections
The RemoteConnections category offers PowerShell functions for establishing and managing remote connections to Windows systems. These tools support various remote access methods including RDP, PSExec, Remote Assistance, and specialized connection viewers. Essential for IT support teams and system administrators who need to remotely access and manage multiple systems efficiently.
Category | Function |
---|---|
RemoteConnections | Connect-CmRcViewer |
RemoteConnections | Connect-InternalPRTG |
RemoteConnections | Connect-Mstsc |
RemoteConnections | Connect-PSExec |
RemoteConnections | Connect-PSExecPowershell |
RemoteConnections | Connect-RemoteAssistance |
RemoteConnections | Connect-RDPSession |
RemoteConnections | Disable-RDPRemotely |
RemoteConnections | Disable-RDPRemotelyCIM |
RemoteConnections | Disable-RDPRemotelyWMI |
RemoteConnections | Enable-RDPRemotely |
RemoteConnections | Enable-RDPRemotelyCIM |
RemoteConnections | Enable-RDPRemotelyWMI |
RemoteConnections | Enable-RemoteDesktop |
RemoteConnections | Get-LoggedOnRDPUser |
RemoteConnections | Get-RDPStatus |
RemoteConnections | Get-RDPStatusCIM |
RemoteConnections | Get-RDPStatusWMI |
RemoteConnections | Get-RDPUserReport |
RemoteConnections | Logoff-Stale-RDP |
RemoteConnections | Remove-RDPUserSession |
RemoteConnections | Set-RDPRemotely |
RemoteConnections | Set-RDPStatus |
Replication
The Replication category provides PowerShell functions for managing Active Directory replication, synchronization, and directory health monitoring. These tools help administrators monitor domain controller replication status, troubleshoot replication issues, and ensure proper synchronization between AD and Azure AD. Critical for maintaining directory service health and ensuring consistent data across domain environments.
Category | Function |
---|---|
Replication | Get-ComputerReplicationStatus |
Replication | Get-DCDIAGResults |
Replication | Get-SysvolReplicationInfo |
Replication | Get-UserReplicationStatus |
Replication | New-SecurePassword |
Replication | Sync-ADwithAAD |
Replication | Sync-DomainController |
Security
The Security category contains PowerShell functions for managing system security, encryption, and compliance. These tools cover BitLocker encryption management, security policy configuration, permission auditing, and various security-related administrative tasks. Essential for security administrators and IT teams responsible for maintaining system security posture and ensuring compliance with security standards.
Category | Function |
---|---|
Security | Disable-CiscoSecure |
Security | Enable-CiscoSecure |
Security | Get-CimNamespacePermissions |
Security | Get-CimNamespacePermissionsRemote |
Security | Get-CimPermsLocal |
Security | Get-InsecureLDAPBinds |
Security | Get-NameSpacePerms |
Security | Get-Namespaces |
Security | Get-PasswordAttempts |
Security | Get-PasswordAttempts2 |
Security | Get-PSGalleryItemsForAuthor |
Security | Get-VpnFailoverEventLogs |
Security | Invoke-CiscoSecureManagement |
Security | Invoke-PasswordifyPhrase |
Security | New-DynamicParameter |
Security | Set-CIMPermissions |
Security | Set-LDAPSBinding |
Security | Update-SSLCertificate |
Shell
The Shell category provides PowerShell functions for shell productivity, utilities, and general-purpose tools. These functions enhance the PowerShell experience with features like history management, time conversions, console configuration, and various utility operations. Perfect for PowerShell users looking to improve their shell workflow and productivity.
ShutdownCommands
The ShutdownCommands category offers PowerShell functions for managing system shutdowns, restarts, and scheduled power operations. These tools enable administrators to remotely shutdown or restart computers, schedule maintenance windows, and handle power-related operations across multiple systems. Essential for IT teams managing system maintenance and power management in enterprise environments.
Category | Function |
---|---|
ShutdownCommands | Get-RemoteComputerScheduledShutdown |
ShutdownCommands | Get-ShutdownExample |
ShutdownCommands | Invoke-RemoteComputerShutdown |
ShutdownCommands | Restart-ProjectComputer |
ShutdownCommands | New-PowerOutage |
ShutdownCommands | Schedule-Shutdown |
ShutdownCommands | Start-RemoteComputerShutdownSchedule |
ShutdownCommands | Stop-RemoteComputerShutdown |
ShutdownCommands | Wait-RemoteComputerShutdown |
Teams
The Teams category provides PowerShell functions for managing Microsoft Teams installations and optimizing performance. These tools help administrators clear Teams cache, manage Teams folders, handle image conversions for Teams, and monitor Teams installations across systems. Essential for IT support teams managing Teams deployments and troubleshooting performance issues.
Category | Function |
---|---|
Teams | Clear-TeamsCache |
Teams | Convert-ImageForTeams |
Teams | Get-MSTeamsPhone |
Teams | Get-TeamsFolderStructure |
Teams | Get-TeamsVersion |
Teams | Get-UsersTeamsFolders |
Teams | Initialize-TeamsLocalUploadFolder |
Teams | New-MSTeamsPhone |
Testing
The Testing category contains PowerShell functions for system validation, connectivity testing, and diagnostic operations. These tools help administrators verify system configurations, test network connectivity, validate Active Directory replication, and perform various system health checks. Essential for IT teams conducting system audits and troubleshooting connectivity or configuration issues.
Category | Function |
---|---|
Testing | Test-ADReplication |
Testing | Test-CiscoSecure |
Testing | Test-Computer |
Testing | Test-ContactEmail |
Testing | Test-DeathstarBackUp |
Testing | Test-DisplayName |
Testing | test-dnsrecord |
Testing | Test-DNSRecord |
Testing | Test-DnsRecordEndpoints |
Testing | Test-DomainMailRecords |
Testing | Test-ExchangeConnection |
Testing | Test-ExchangeDNSRR |
Testing | Test-FileExists |
Testing | Test-FolderExists |
Testing | Test-ifContactExists |
Testing | Test-IsAdmin |
Testing | Test-LDAPconnection |
Testing | Test-NetworkPort |
Testing | Test-O365EmailExists |
Testing | Test-OpenPorts |
Testing | Test-OpenPortsWitch |
Testing | Test-ProfileExists |
Testing | Test-RemoteTimeSettings |
Testing | Test-SamAccountName |
Testing | Test-ServerRolePortGroup |
Testing | Test-SMB1Enabled |
Testing | Test-SSLProtocols |
Testing | Test-Surname |
Testing | Test-TLSConnection |
Testing | Test-TransmissionSettings |
Testing | Test-UserExists |
Testing | Test-WebsiteAvailability |
Utilities
The Utilities category provides a collection of general-purpose PowerShell helper functions and utilities. These tools assist with common tasks like data conversion, error handling, file cleanup, and various administrative helper operations. Perfect for PowerShell developers and administrators who need reliable utility functions for everyday scripting tasks.
Virtualization
The Virtualization category offers PowerShell functions for managing virtualized environments, containers, and system monitoring. These tools enable administrators to monitor Docker containers, track system uptime, generate disk and drive space reports, and manage virtualized infrastructure. Essential for system administrators working with containerized applications and virtual machine environments.
Category | Function |
---|---|
Virtualization | Get-DiskReport |
Virtualization | Get-DockerStatsSnapshot |
Virtualization | Get-DriveSpaceReport |
Virtualization | Get-ServerInfo |
Virtualization | Get-UptimeResult |
Virtualization | Get-UptimeV1 |
Virtualization | Get-VMGuestHardwareDetails |
Virtualization | Get-VMInfoCustom |
Virtualization | Get-VMInformation |
Virtualization | Get-VMInformationPlus |
Virtualization | Get-WMIHardwareOSInfo |
Virtualization | VMWareHealthcheck |
Virtualization | New-WindowsSandbox |
Virtualization | VMWareHealthcheck |
Weather
The Weather category provides PowerShell functions for retrieving weather information and forecasts. These tools integrate with weather APIs to provide current conditions and detailed weather data. Perfect for system administrators who want to incorporate weather data into their scripts or need location-based weather information for operational purposes.
Category | Function |
---|---|
Weather | Get-Weather |
Weather | Get-WeatherDetail |
Weather | Get-TempHumidData |
⚠️ Important Disclaimer
These PowerShell scripts are provided as-is for educational and administrative purposes. While I’ve tested them in various environments, using them in production systems is entirely at your own risk. I cannot be held responsible for any unintended consequences, data loss, or system disruptions that may occur.
Remember: PowerShell is like a lightsaber - powerful but potentially dangerous in the wrong hands. Use responsibly, and may the Force be with you! 🛡️