Skip to content

Instantly share code, notes, and snippets.

View AshFlaw's full-sized avatar

AshFlaw

  • The Full Circle
View GitHub Profile
@AshFlaw
AshFlaw / Install-Choco.ps1
Created April 15, 2018 11:08
PowerShell function to install Chocolatey if it isn't already.
Function Install-Choco
{
Set-ExecutionPolicy Bypass -force
If (!(Test-Path -Path "C:\ProgramData\chocolatey"))
{
$env:chocolateyUseWindowsCompression = 'false'
Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression
choco feature enable -n=allowGlobalConfirmation
}
}
@AshFlaw
AshFlaw / Get-StaleADComputers.ps1
Created May 2, 2018 17:07
Get computer accounts that haven't logged on in a year.
$duration = (Get-Date).AddDays(-365)
Get-ADComputer -Filter {LastLogonDate -lt $duration} | Select-Object Name, LastLogonDate | Sort-Object Name
@AshFlaw
AshFlaw / Set-SQLShinkAllLogFiles.sql
Created May 14, 2018 07:43
Shrink all SQL Transaction Log Files on an Instance
SET NOCOUNT ON
USE master
GO
/*
* Update usage statistics. Not a necessary step
* but will provide more accurate results
*/
DBCC UPDATEUSAGE(0)
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
@AshFlaw
AshFlaw / Set-SQLInstanceAllDBLogFileSettings.ps1
Created May 14, 2018 08:10
Function to set the log file initial size and growth values for all databases on an instance to 512MB
Function Set-SQLLogFileSizeAndGrowth
{
Param
(
$Instance
)
Import-Module dbatools -ErrorAction SilentlyContinue
If ((Get-Module | Where-Object {$_.Name -eq "dbatools"}) -eq $null)
{
Write-Output "Installing required module: $dbatools"
@AshFlaw
AshFlaw / Invoke-RemoteVolumeExpand.ps1
Created May 14, 2018 13:38
Remotely expand all volumes on a server that have available space.
Function Invoke-RemoteVolumeExpand
{
Param
(
$Server
)
Function Invoke-VolumeExpand
{
$Include = "C|W|D|E|F"
$Partitions = Get-Partition | Where-Object {$_.DriveLetter -Match $Include}
@AshFlaw
AshFlaw / ChangeYourADPassword.ps1
Created June 1, 2018 07:38
Change your AD password with PowerShell
$AccountName = ""
Set-AdAccountPassword -Identity $AccountName -OldPassword (Read-Host -asSecureString "Current password") -NewPassword (Read-Host -asSecureString "New password")
@AshFlaw
AshFlaw / LogOffRemoteServer.ps1
Created June 18, 2018 18:42
Windows Server Core, closed terminal windows. Remote log off of session so next time, console will launch.
logoff /server:remote_computer_name
@AshFlaw
AshFlaw / CredentialObjectOneLine.ps1
Created June 28, 2018 11:25
A one line command to get a full (username and password) credential object without bringing them in from variables.
$Credential = New-Object System.Management.Automation.PSCredential 'username',(convertto-securestring 'password' -asplaintext -force)
@AshFlaw
AshFlaw / Get-AvailableRAM.ps1
Created July 17, 2018 09:13
Get available RAM on a remote server via powershell
$Server = ""
(Get-Counter -Counter "\Memory\Available MBytes" -ComputerName $Server).CounterSamples[0].CookedValue
@AshFlaw
AshFlaw / Set-EolMailBoxAuditEnabledAll.ps1
Created July 19, 2018 06:48
Enable Exchange Online mailbox auditing manually for all mailboxes
Get-Mailbox -Filter {AuditEnabled -eq $False} -RecipientTypeDetails UserMailbox, SharedMailbox | Set-Mailbox -AuditEnabled $True –AuditDelegate Create, FolderBind, SendAs, SendOnBehalf, SoftDelete, HardDelete, Update, Move, MoveToDeletedItems, UpdateFolderPermissions