Tag: Powershell
-

PowerShell Module Bloat
#PLEASE GOD, Microsoft, USE STANDARDS in your PowerShell module development ..
-

Upgrade to PWSH Without Being Destructive (even for DCs)
-

Upgrade Windows 11 at Home
-

Enable AD RDC Rules on Domain Controllers
-

PWSH: Get-Latest-WinEvent-Prompted-DCs
This is a VERY useful script that prompts for RWDC or RODCs, prompt to specify EventIDs or just get the last event on each DC, and refactored with Microsoft CoPilot 4 for locations where WinRM is disabled, using Invoke-Command (Enter-PSSession)
-

GPOs: List-GPOs-EnabledandLinked-AndBackup
How to backup the Group Policies you are actually using
-

Use ISE in PS7
This is so easy you’re gonna spit… #-OR-#Just type ‘powershell_ise’ at the PWSH.exe prompt with the path\script name to edit in ISE
-

Check-WinEvents-Prompted.ps1
‘Check-WinEvents-Prompted.ps1’ #************************************************************************************************************* # Script Name : Get-Latest-WinEvent-Prompted-DCs # Purpose : Check Latest Event log for DCs chosen # Date : #.\Get-UpdateDate.ps13:32 PM 3/13/2024 # – Initial version # Date : #.\Get-UpdateDate.ps11:12 PM 3/14/20244 # – Updated to reflect specific events, added credentials, added prompts # Author : Patrick Burwell #************************************************************************************************************* #Set location first set-location D:\PowerShell…
-
Confirm Windows Server In-place Upgrade to 2025
From 4SysOps: Confirm Windows Server in-place upgrade to 2025 Current version Upgrade to Windows Server 2025? Windows Server 2012 ❌ No Windows Server 2012 R2 ❌ No Windows Server 2016 ✅ Yes Windows Server 2019 ✅ Yes Windows Server 2022 ✅ Yes https://4sysops.com/archives/check-the-windows-server-version-to-determine-if-an-in-place-upgrade-to-server-2025-is-supported
-

AI Automation for PowerShell
“You may have experimented with Microsoft’s AI Shell for PowerShell and felt that you didn’t need another chatbot. However, AI Shell isn’t a shell at all. Like many of Microsoft’s Copilots, it functions merely as a chatbot attached to your terminal, providing enhanced copy-and-paste capabilities.” “The AI Shell is compatible with Windows, macOS, and Linux. Please ensure…
-

Looper
Having a good looper is a great script to keep available… I wish I could remember where I got this form, but I thank you, Anony-Mouse scripter! [::mouse::]
-

Reverse Ping a 255.255.254 Scope
To quickly obtain the devices using an IPv4Address in a scope reverse ping the scope in PowerShell (5.1) ‘#’ReverseLookup-Ipv4Address-By23Range.ps1’$subnet = read-host -Prompt “What IP scope with /23 range? -leave off the last octet numbers – like this 10.228.30. “for ($i=0; $i -le 511; $i++) { $ip = $subnet + $i Resolve-DnsName -name $ip -ea SilentlyContinue|select…
-

Remove Revoked Certificates
The removal of revoked certificates is not automatic…
-

Set PS 5.1 to use PS 7 PSModulePath
…might as well prepare by using the D:\PowerShell path now with PS 5.1…
-

Set PowerShell Credential
…you can make the script prompt you for you admin credential or you can type it in manually, or adjust from your username for more elevation
-

Update ADSS Subnets
The real advantage of this script is the ability it gives you to update your ADSS subnets quickly #Import the Active Directory moduleImport-Module ActiveDirectory -NoClobber -DisableNameChecking -Scope Local#Import the CSV with headers$csvData = Import-Csv -Path D:\powershell\input\subnets.csv#Checks for any count and breaks if not $nullif(!($csvData.Count)){break}#Loop through each row in the CSVforeach ($row in $csvData) {#Get the…
-

Update-Windows_Powershell.ps1
Updates Windows powershell modules, installs any not installed, and updates help for them all
-

Get ALL A User’s Groups
…get every group a user is in, including the Primary
-

Get Domain Users
The reason you cannot enumerate all ‘Domain Users’ members is due to size restrictions of the PowerShell commands,
-

VM PS Templates: Query VMs PoweredOn
This script renumerates through all the VCSAs and makes a big list of the PoweredOn VMs and runs a job against them, like TC (ping)
-

Get-ADGroup WildCard is BROKEN
In the past (2018) you could use ‘like’ on Get-adgroup, like this:
-

PS Script to Promote 2019 Server to RWDC
Add-WindowsFeature -Name “AD-Domain-Services” -IncludeManagementTools:$False -Confirm -ea Inquire -LogPath “C:\Users\$env:username\Documents\WindowsPowerShell\log\$day-RWDCPromo.log”
-

Set-MpPreference
As you can see, Microsoft’s syntax is wrong:They show the syntax for setting soft-passive mode as ‘Set-MpPreference -DisableRealtimeMonitoring $true’ when it is ‘Set-MpPreference -DisableRealtimeMonitoring:$true’ <– NOTE THE COLON??? Arrrrgghhhh! I cannot tell you how frustrating it is when code is not written to give you ANY response unless you get the syntax EXACTLY right. *SIGH*…
-

Gpupdate Latency Errors Lookup Script
I cannot TELL you how hard this was to write. Holy smokes the help on this is terrible.
-

Locate Pervasive Lockouts of AD Accounts
You can use PowerShell to search the Security event log for lockout events…
-

PowerShell: Install ActiveDirectory Easily
I have found this make installing the ActiveDirectory Module FAR easier.Quick.Painless.
-

PowerShell/PowerCLI: UMount All ISOs At Once
Get-VM -Name $vm | Get-CDDrive | Set-CDDrive -NoMedia -StartConnected $false
-

PowerShell: Check your local server performance
Collects performance data for 30 seconds and exits
-

PowerShell: Copy $Profile to every Windows Server
…Just remember to put your domain in for the ‘-SearchBase’
-

PowerCLI: Add Hot Add / Hot Plug Status to a Specific VM Guest
Add Hot Add / Hot Plug Status to a specific VM Guest
