Skip to content

Instantly share code, notes, and snippets.

View 9to5IT's full-sized avatar

9to5IT 9to5IT

View GitHub Profile
@9to5IT
9to5IT / Get-PrintedDocs.ps1
Last active December 13, 2021 14:15
PowerShell: Get list of printed documents
$aPrinterList = @()
$StartTime = "11/01/2013 12:00:01 PM"
$EndTime = "11/01/2013 6:00:01 PM"
$Results = Get-WinEvent -FilterHashTable @{LogName="Microsoft-Windows-PrintService/Operational"; ID=307; StartTime=$StartTime; EndTime=$EndTime;} -ComputerName "print-01"
ForEach($Result in $Results){
$ProperyData = [xml]$Result.ToXml()
$PrinterName = $ProperyData.Event.UserData.DocumentPrinted.Param5
@9to5IT
9to5IT / Get-AccountLockouts.ps1
Last active August 16, 2021 12:52
PowerShell: Get-WinEvent to find Account Lockout Events
#requires -version 2
<#
.SYNOPSIS
Lists date, time and machine name where the specified account was locked. Used for troubleshooting account lockout issues.
.DESCRIPTION
This script outputs to specified file all of the recent account lockouts that have occurred for the specified user. The results returned are the machine name where this has occurred and the data & time it occurred at. This script is very useful for troubleshooting account lockout issues.
Note: This script only searches current security logs on the domain controllers specified within the $DCs variable
@9to5IT
9to5IT / Logging_Functions.ps1
Last active March 20, 2023 00:47
PowerShell: Logging Functions
Function Log-Start{
<#
.SYNOPSIS
Creates log file
.DESCRIPTION
Creates log file with path and name that is passed. Checks if log file exists, and if it does deletes it and creates a new one.
Once created, writes initial logging data
.PARAMETER LogPath
@9to5IT
9to5IT / Script_Template.ps1
Last active April 9, 2024 14:01
PowerShell: Script Template
#requires -version 2
<#
.SYNOPSIS
<Overview of script>
.DESCRIPTION
<Brief description of script>
.PARAMETER <Parameter_Name>
<Brief description of parameter input required. Repeat this attribute if required>
@9to5IT
9to5IT / Encryption_Functions.ps1
Created March 18, 2014 14:20
PowerShell: Encryption Functions
Function Set-EncryptKey{
<#
.SYNOPSIS
Used to create an encryption \ decryption key
.DESCRIPTION
This function is used to create an encrytpion \ decryption key that will be used in conjunction with PowerShell cmdlets and functions to encrypt and decrypt data.
The key needs to be between 16 and 32 characters in length.
.PARAMETER Key
@9to5IT
9to5IT / Get-ADUserInfo.ps1
Last active December 24, 2022 02:20
PowerShell: Get Active Directory User Information
Import-Module ActiveDirectory
$aResults = @()
$List = Get-Content ".\List.txt"
ForEach($Item in $List){
$Item = $Item.Trim()
$User = Get-ADUser -Filter{displayName -like $Item -and SamAccountName -notlike "admin-*" -and Enabled -eq $True} -Properties SamAccountName, GivenName, Surname, telephoneNumber, mail
$hItemDetails = New-Object -TypeName psobject -Property @{
@9to5IT
9to5IT / Send-Email.ps1
Last active May 1, 2023 17:44
PowerShell: Send Email
Function Send-Email{
<#
.SYNOPSIS
Used to send data as an email to a list of addresses
.DESCRIPTION
This function is used to send an email to a list of addresses. The body can be provided in HTML or plain-text
.PARAMETER EmailFrom
Mandatory. The email addresses of who you want to send the email from. Example: "admin@9to5IT.com"
@9to5IT
9to5IT / iframe-example.html
Last active August 16, 2021 12:51
HTML: Disabling mouse scrolling in iFrame (Example: Disable zooming for Google Maps iframe)
<iframe style="pointer-events:none;" src=""></iframe>
EXAMPLE Google Maps iFrame:
-----------------------------
<iframe style="pointer-events:none; border:0;" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3540.087495492481!2d153.02746689999998!3d-27.466535299999965!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6b915a1d2f662eb3%3A0x4f3c5ce2c1aafa48!2sAdelaide+St%2C+Brisbane+QLD+4000!5e0!3m2!1sen!2sau!4v1412077371383" width="600" height="300" frameborder="0"></iframe>
@9to5IT
9to5IT / powercli_script_template.ps1
Last active August 16, 2021 12:51
PowerShell: PowerCLI Script Template
#requires -version 2
<#
.SYNOPSIS
<Overview of script>
.DESCRIPTION
<Brief description of script>
.PARAMETER <Parameter_Name>
<Brief description of parameter input required. Repeat this attribute if required>
@9to5IT
9to5IT / Duplicate-PortGroups.ps1
Created January 24, 2015 02:05
PowerShell: Duplicate Port Groups from one vDS to another using PowerCLI
#requires -version 3
<#
.SYNOPSIS
Copies port groups and all of their settings from one vDS to another vDS
.DESCRIPTION
This script is used to duplicate port groups (and their settings) from one vDS to another vDS.
This is useful if you want to create a duplicate vDS with the same configuration as the original
.PARAMETER