PowerShell
My collection of useful functions, scripts, snippets and templates written by myself.
Description
Automate all the Things!
Module
How to install the module?
- Download the latest Release
- Copy the folder Module\LazyAdmin to
C:\Users\%username%\Documents\WindowsPowerShell\Modules\
- Open up a PowerShell as an admin and set the execution policy:
Set-ExecutionPolicy RemoteSigned
- Import the Module with the command
Import-Module LazyAdmin
(Maybe add this command to your PowerShell profile)
Available functions:
Function | Description | Help |
---|---|---|
Clear-ARPCache | Clear the ARP cache | |
Convert-IPv4Address | Convert an IPv4-Address to Int64 and vise versa | |
Convert-Subnetmask | Convert a subnetmask to CIDR and vise versa | |
Find-StringInFile | Find a string in one or multiple files | |
Get-ARPCache | Get the ARP cache | |
Get-ConsoleColor | Get all available console colors | |
Get-InstalledSoftware | Get all installed software with DisplayName, Publisher and UninstallString | |
Get-IPv4Subnet | Calculate a subnet based on an IP-Address and the subnetmask or CIDR | |
Get-LastBootTime | Get the time when a computer is booted | |
Get-MACAddress | Get the MAC-Address from a remote computer | |
Get-MACVendor | Get Vendor from a MAC-Address | |
Get-RandomPassword | Generate passwords with a freely definable number of characters | |
Get-RandomPIN | Generate PINs with freely definable number of numbers | |
Get-WindowsProductKey | Get the Windows product key and some usefull informations about the system | |
Get-WLANProfile | Get WLAN profiles, include password as SecureString or as plain text | |
Invoke-IPv4NetworkScan | Powerful asynchronus IPv4 Network Scanner to scan an IP-Range or subnet | |
Invoke-IPv4PortScan | Powerful asynchronus IPv4 Port Scanner to scan a TCP Port-Range | |
Send-WakeOnLan | Send a network message to turn on or wake up a remote computer | |
Split-IPv4Subnet | Split a subnet in multiple subnets with given subnetmasks | |
Test-IsFileBinary | Test if a file is binary | |
Update-StringInFile | Replace a string in one or multiple files |
Scripts
Script | Description | Help |
---|---|---|
Convert-ROT13 | Rotate lower and upper chars by n places (Caesar cipher) | |
Convert-ROT47 | Rotate ascii chars by n places (Caesar cipher) | |
OptimizePowerShellStartup.ps1 | Optimize PowerShell startup by reduce JIT compile time with ngen.exe |
Snippets
Snippet | Description |
---|---|
ConnectToExchange2010.ps1 | Connect to Exchange 2010 Management Shell in script |
CredentialParameter.ps1 | Parameter to pass credentials into a function/script |
New-Object.ps1 | Create a new PSObject with custom properties |
PressAnyKeyToContinue.ps1 | Wait until the user pressed a key |
PromptForChoice.ps1 | Prompt for choice |
PSCustomObject.ps1 | Create a new PSObject with custom properties (faster than New-Object/Add-Member) |
RewriteInLine.ps1 | Rewrite in Line (Write-Host "xx% complete") |
SelfElevatingScript.ps1 | Self elevate a PowerShell script/console with parameters |
Send-MailMessage.ps1 | Send a mail message via PowerShell |
Regex
Regex | Description |
---|---|
IPv4Address.ps1 | Validate an IPv4-Address like 192.168.1.0 |
MACAddress.ps1 | Validate a MAC-Address like 00:00:00:00:00:00 or 00-00-00-00-00-00 or 000000000000 |
Subnetmask.ps1 | Validate an Subnetmask like 255.255.255.0 |
Templates
Template | Description |
---|---|
Default.ps1 | Default template for new scripts |
Default.README.md | Default template for documentation on GitHub |
RunspacePool.ps1 | RunspacePool template - run code asynchron (faster than PSJobs) |