Skip to content

Instantly share code, notes, and snippets.

@signalwarrant
signalwarrant / Sort-Select.ps1
Created March 9, 2021 18:42
Sort-Select.ps1
# Selecting
#Default
Get-Process
# All Properties
Get-Process | Select-Object -Property * | Out-GridView
# Sorting
# Changes the default sorting order for Get-Process
Get-Process | Sort-Object CPU
@signalwarrant
signalwarrant / Filter-Left.ps1
Created March 9, 2021 18:39
Filer-Left.ps1
#1
Get-Service | Where-object { $_.Status -eq 'Running' -and $_.name -like 's*'}
#2
Get-Service -name s*| Where-object { $_.Status -eq 'Running'}
#1
Measure-Command -Expression {Get-Service | Where-object { $_.Status -eq 'Running' -and $_.name -like 's*'}}
#2
Measure-Command -Expression {Get-Service -name s*| Where-object { $_.Status -eq 'Running'}}
@signalwarrant
signalwarrant / PS-Filtering.ps1
Created March 9, 2021 18:33
PS-Filtering.ps1
# Basic Syntax example
Get-Service | Where-Object Status -eq Running
# Advanced Syntax example
Get-Service | Where-Object {$PSItem.Status -eq 'Running' -and $PSItem.StartType -eq 'Automatic'}
# Same as above
Get-Service | Where-Object {$_.Status -eq 'Running' -and $_.StartType -eq 'Automatic'}
@signalwarrant
signalwarrant / Enable-Remoting.ps1
Created March 9, 2021 18:29
Enable-Remoting.ps1
# Enable Remoting to an Azure VM
Enable-PSRemoting
# Make sure to set the Public IP address to static or make sure you track the change of the public IP
# Create Network Security Group Rule to allow winrm
# Create a Selfsigned cert on the Azure VM
$Cert = New-SelfSignedCertificate -CertstoreLocation Cert:\LocalMachine\My -DnsName PC1.mydomain.local
Export-Certificate -Cert $Cert -FilePath '<filepath>\exch.cer'
@signalwarrant
signalwarrant / Find-AdminGroupChanges.ps1
Created March 9, 2021 18:10
Find-AdminGroupChanges.ps1
# This is the script we'll run on a regular basis
# Get the filehash of the CurrentDomainAdmins.xml
$CurrentAdminsHash = Get-FileHash -Path 'C:\scripts\CurrentDomainAdmins.xml' |
Select-Object -expandProperty Hash
# Get the current date
$Date = Get-Date
# This is the file we're testing the CurrentDomainAdmins.xml file against
$newAdmins = 'c:\scripts\NewAdmins.xml'
# A variable we will use in the if statement below
@signalwarrant
signalwarrant / Get-DomainAdmins.ps1
Created March 9, 2021 16:21
Get-DomainAdmins.ps1
# Run this once to get the Domain Admins group baseline
Get-ADGroupMember -Server signalwarrant.local -Identity "Domain Admins" |
Select-Object -ExpandProperty samaccountname |
Export-Clixml -Path 'C:\scripts\CurrentDomainAdmins.xml'
@signalwarrant
signalwarrant / New-AzureLab.ps1
Last active October 4, 2021 18:07
New-AzureLab.ps1
Function New-AzureLab {
<#
.SYNOPSIS
New-AzureLab will create 1 or multiple VMs in Azure based on input parameters from a CSV
.DESCRIPTION
Create a CSV file like below:
VMName,Location,InterfaceName,ResourceGroupName,VMSize,ComputerName
SP,EastUS,SP_Int,SignalWarrant_RG,Basic_A2,SP
@signalwarrant
signalwarrant / HTTPSDSCPullServer.ps1
Last active October 4, 2021 18:07
HTTPSDSCPullServer
Configuration SecurePullServerSQLDBgMSA {
Param (
[ValidateNotNullOrEmpty()]
[ string ] $NodeName = 'localhost',
[ValidateNotNullOrEmpty()]
[ string ] $Thumbprint = " $( Throw "Provide a valid certificate thumbprint to continue" ) ",
[ValidateNotNullOrEmpty()]
[ string ] $Guid = " $( Throw "Provide a valid GUID to continue" ) "
#!/usr/bin/python3
#############################################################################
# #
# This script was initially developed by Infoxchange for internal use #
# and has kindly been made available to the Open Source community for #
# redistribution and further development under the terms of the #
# GNU General Public License v2: http://www.gnu.org/licenses/gpl.html #
# Copyright 2015 Infoxchange #
# #
@darrenjrobinson
darrenjrobinson / Get-AzureADAuthenticationMethods.ps1
Last active January 20, 2025 16:17
PowerShell script to retrieve Azure AD Users Authentication Methods and add them as additional attributes on the User Object. Associated Blogpost https://blog.darrenjrobinson.com/reporting-on-users-azure-ad-authentication-methods-using-microsoft-graph-and-powershell/
Function AuthN {
<#
.SYNOPSIS
Authenticate to Azure AD and receieve Access and Refresh Tokens.
.DESCRIPTION
Authenticate to Azure AD and receieve Access and Refresh Tokens.
.PARAMETER tenantID
(required) Azure AD TenantID.