Skip to content

Instantly share code, notes, and snippets.

View seanosullivanuk's full-sized avatar
I make stuff (up)

Sean O'Sullivan seanosullivanuk

I make stuff (up)
View GitHub Profile
@seanosullivanuk
seanosullivanuk / exoimappop.ps1
Created September 18, 2020 17:14
Filter out any mailbox that has IMAP or POP enabled, with Exchange Online
Get-CASMailbox -Filter {ImapEnabled -eq "True" -or PopEnabled -eq "True"} | Select-Object @{n = "identity"; e = {$_.primarysmtpaddress}}
@seanosullivanuk
seanosullivanuk / adcomputerexport.ps1
Created August 11, 2020 14:29
Export all Computer records from Active Directory to a CSV
Import-Module ActiveDirectory
Get-ADComputer -Filter * -Properties * |
Select -Property Name,DNSHostName,Enabled,Description |
Export-CSV "C:\Temp\AllComputers.csv" -NoTypeInformation -Encoding UTF8
@seanosullivanuk
seanosullivanuk / passmandatoryparameter.ps1
Created April 13, 2019 12:24
Pass a mandatory parameter to a PowerShell script
# Pass a mandatory parameter to a PowerShell script
# This example requests a single string, stored as a variable
# e.g. .\passmandatoryparameter.ps1 -FavouriteColour Purple
# If the parameter isn't provided (e.g. .\passmandatoryparameter.ps1), the script will request it,
# but if nothing is passed the script will throw an error.
param(
[Parameter(Mandatory=$true)]
[string]$FavouriteColour
@seanosullivanuk
seanosullivanuk / passparameter.ps1
Created April 13, 2019 12:15
Pass a parameter to a PowerShell script
# Pass a parameter to a PowerShell script
# This example requests a single string, stored as a variable
# e.g. .\passparameter.ps1 -FavouriteColour Purple
# If the parameter isn't provided (e.g. .\passparameter.ps1), the script will request it
param (
[string]$FavouriteColour = "$(Read-Host 'Tell me your favourite colour')"
)
@seanosullivanuk
seanosullivanuk / sign.md
Created October 19, 2018 14:31
Sign PowerShell scripts (Windows)

First, check the code signing certificate(s) are present in the Personal Store:

gci cert:\CurrentUser\My -codesigning

To sign, run the following code block:

$acert =(dir Cert:\CurrentUser\My -CodeSigningCert)[0]
Set-AuthenticodeSignature .\FileName.ps1 -Certificate $acert -TimestampServer http://timestamp.comodoca.com/authenticode