Skip to content

Instantly share code, notes, and snippets.

View dansmith65's full-sized avatar

Dan Smith dansmith65

View GitHub Profile
@dansmith65
dansmith65 / Install-ImageMagick.ps1
Last active November 4, 2026 22:41
Install the latest version of ImageMagick via PowerShell.
# https://imagemagick.org/download/#windows
$processor = 'x64' # can be one of: x64, arm64, or x86
$bitDepth = 8 # can be one of: 8 or 16 (8 uses less resources, 16 allows for more colors)
$hdri = $false # Boolean: $true or $false (only used if bit depth is 16)
$dynamic = $true # Boolean: $true or $false (true: smaller installation, with dependencies)
$nameEndsWith = "Q$bitDepth-" + @{$true='HDRI-'}[$bitDepth -eq 16 -and $hdri] +"$processor-" + @{$true='dll'; $false='static'}[$dynamic] +".exe"
$dlurl = ((Invoke-WebRequest -UseBasicParsing -Uri 'https://api.github.com/repos/ImageMagick/ImageMagick/releases/latest').Content | ConvertFrom-Json | Select-Object -ExpandProperty assets | Where-Object {$_.name.EndsWith($nameEndsWith)} | Select-Object -ExpandProperty browser_download_url )
$dlurl
$installerPath = Join-Path $env:TEMP (Split-Path $dlurl -Leaf)
@dansmith65
dansmith65 / Install-AWSCLIV2.ps1
Created August 23, 2022 01:33
Install version 2 of AWS CLI via PowerShell
# https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
$dlurl = "https://awscli.amazonaws.com/AWSCLIV2.msi"
$installerPath = Join-Path $env:TEMP (Split-Path $dlurl -Leaf)
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest $dlurl -OutFile $installerPath
Start-Process -FilePath msiexec -Args "/i $installerPath /passive" -Verb RunAs -Wait
Remove-Item $installerPath
$env:Path += ";C:\Program Files\Amazon\AWSCLIV2"
@dansmith65
dansmith65 / Install-7zip.ps1
Last active October 6, 2026 16:43
Install latest version of 7-zip via PowerShell
$dlurl = (Invoke-WebRequest -UseBasicParsing -Uri 'https://7-zip.org/' | Select-Object -ExpandProperty Links | Where-Object {($_.outerHTML -match 'Download') -and ($_.href -like "*-x64.exe")} | Select-Object -First 1 | Select-Object -ExpandProperty href)
# modified to work without IE
# above code from: https://perplexity.nl/windows-powershell/installing-or-updating-7-zip-using-powershell/
$installerPath = Join-Path $env:TEMP (Split-Path $dlurl -Leaf)
Invoke-WebRequest $dlurl -OutFile $installerPath
Start-Process -FilePath $installerPath -Args "/S" -Verb RunAs -Wait
Remove-Item $installerPath
@dansmith65
dansmith65 / WindowsServerSetup-FileMaker.ps1
Last active June 30, 2021 20:42
perform common tasks on a fresh server
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Common Windows Server Setup (code downloaded from another Gist)
Invoke-Expression ((Invoke-WebRequest "https://gist.githubusercontent.com/dansmith65/010e9ae85a09ce9855206b7558a67b37/raw/WindowsServerSetup.ps1").Content)
# Open FileMaker-specific ports
# NOTE: you might want to add 80 and 443 to the list of ports below, but I haven't needed to in my testing on AWS yet
New-NetFirewallRule -DisplayName "FileMaker Server" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 5003,16000
# Install FileMaker Server: CONFIG
@dansmith65
dansmith65 / Install-AWSCLI.ps1
Last active December 9, 2022 12:28
Install version 1 of AWS CLI via PowerShell
# https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html
$dlurl = "https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi"
$installerPath = Join-Path $env:TEMP (Split-Path $dlurl -Leaf)
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest $dlurl -OutFile $installerPath
Start-Process -FilePath msiexec -Args "/i $installerPath /passive" -Verb RunAs -Wait
Remove-Item $installerPath
$env:Path += ";C:\Program Files\Amazon\AWSCLI\bin"
@dansmith65
dansmith65 / AutoHotkey.ahk
Created November 8, 2018 22:14
Snippets from my main AutoHotkey script to load scripts from a folder, and close them when the main script exists.
OnExit, ExitSub
;AUTO LOAD SCRIPTS
;==============================================================================
Loop, AutoHotkey.d\*.ahk
{
OutputVarPID =
Run, %A_AhkPath% "%A_LoopFileFullPath%", , , OutputVarPID
CloseProcessesOnExit = %CloseProcessesOnExit%%OutputVarPID%`n
}
@dansmith65
dansmith65 / WindowsServerSetup.ps1
Last active November 25, 2019 23:57
Windows Server Setup; perform common tasks on a fresh server
# Install Google Chrome (code downloaded from another Gist)
Invoke-Expression ((Invoke-WebRequest "https://gist.githubusercontent.com/dansmith65/4c012304ed96596dbbcad8e4a15f7583/raw/Install-GoogleChrome.ps1").Content)
# Install Nodepad++ (code downloaded from another Gist)
Invoke-Expression ((Invoke-WebRequest "https://gist.githubusercontent.com/dansmith65/a862f301fce553b26db9689ad0f87b6a/raw/Install-NotepadPlusPlus.ps1").Content)
# Install 7-zip (code downloaded from another Gist)
Invoke-Expression ((Invoke-WebRequest "https://gist.githubusercontent.com/dansmith65/7dd950f183af5f5deaf9650f2ad3226c/raw/Install-7zip.ps1").Content)
# Install AWS CLI (code downloaded from another Gist)
@dansmith65
dansmith65 / Install-GoogleChrome.ps1
Last active February 21, 2025 16:59 — forked from kurokikaze/gist:350fe1713591641b3b42
install chrome from powershell
$InstallerPath = Join-Path $env:TEMP "chrome_installer.exe"; Invoke-WebRequest "https://dl.google.com/chrome/install/latest/chrome_installer.exe" -OutFile $InstallerPath; Start-Process -FilePath $InstallerPath -Args "/silent /install" -Verb RunAs -Wait; Remove-Item $InstallerPath
@dansmith65
dansmith65 / Install-NotepadPlusPlus.ps1
Last active July 16, 2024 01:03
Install latest 64-bit version of Nodepad++ via PowerShell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$homeUrl = 'https://notepad-plus-plus.org'
$res = Invoke-WebRequest -UseBasicParsing $homeUrl
if ($res.StatusCode -ne 200) {throw ("status code to getDownloadUrl was not 200: "+$res.StatusCode)}
$tempUrl = ($res.Links | Where-Object {$_.outerHTML -like "*Current Version *"})[0].href
if ($tempUrl.StartsWith("/")) { $tempUrl = "$homeUrl$tempUrl" }
$res = Invoke-WebRequest -UseBasicParsing $tempUrl
if ($res.StatusCode -ne 200) {throw ("status code to getDownloadUrl was not 200: "+$res.StatusCode)}
$dlUrl = ($res.Links | Where-Object {$_.href -like "*x64.exe"})[0].href
if ($dlUrl.StartsWith("/")) { $dlUrl = "$homeUrl$dlUrl" }
@dansmith65
dansmith65 / Get-TodoistBackup.ps1
Created May 17, 2016 18:55
Powershell script to download the latest backup from Todoist
# Get-TodoistBackup.ps1
# Created By: Daniel Smith dan@dansmith65.com
#
# Download the latest backup from Todoist
#
$token = ""
# get list of backups from Todoist