Skip to content

Instantly share code, notes, and snippets.

Dan Smith dansmith65

  • B.C. Canada
View GitHub Profile
@dansmith65
dansmith65 / Install-7zip.ps1
Created Nov 15, 2019
Install latest version of 7-zip via PowerShell
View Install-7zip.ps1
$dlurl = 'https://7-zip.org/' + (Invoke-WebRequest -Uri 'https://7-zip.org/' | Select-Object -ExpandProperty Links | Where-Object {($_.innerHTML -eq 'Download') -and ($_.href -like "a/*") -and ($_.href -like "*-x64.exe")} | Select-Object -First 1 | Select-Object -ExpandProperty href)
# 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 May 29, 2020
perform common tasks on a fresh server
View WindowsServerSetup-FileMaker.ps1
[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
Created Nov 9, 2018
Install latest version of AWS CLI via PowerShell
View Install-AWSCLI.ps1
# 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)
Invoke-WebRequest $dlurl -OutFile $installerPath
Start-Process -FilePath msiexec -Args "/i $installerPath /passive" -Verb RunAs -Wait
Remove-Item $installerPath
@dansmith65
dansmith65 / AutoHotkey.ahk
Created Nov 8, 2018
Snippets from my main AutoHotkey script to load scripts from a folder, and close them when the main script exists.
View AutoHotkey.ahk
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 Nov 25, 2019
Windows Server Setup; perform common tasks on a fresh server
View WindowsServerSetup.ps1
# 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 Sep 25, 2019 — forked from kurokikaze/gist:350fe1713591641b3b42
install chrome from powershell
View Install-GoogleChrome.ps1
$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 Apr 19, 2020
Install latest 64-bit version of Nodepad++ via PowerShell
View Install-NotepadPlusPlus.ps1
[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
Powershell script to download the latest backup from Todoist
View Get-TodoistBackup.ps1
# Get-TodoistBackup.ps1
# Created By: Daniel Smith dan@dansmith65.com
#
# Download the latest backup from Todoist
#
$token = ""
# get list of backups from Todoist
@dansmith65
dansmith65 / VerifyVariablesNotEmpty.fmfn
Created Mar 23, 2015
test version of VerifyVariablesNotEmpty custom function for FileMaker
View VerifyVariablesNotEmpty.fmfn
/**
* =====================================
* VerifyVariablesNotEmpty ( nameList )
*
* RETURNS:
* True (1) if a locally scoped $variable matching each value in nameList
* is not empty; False (0) otherwise.
*
* PARAMETERS:
* nameList: A return-limited list of names to check. Names do not need to
@dansmith65
dansmith65 / #.fmfn
Created Mar 18, 2015
in-progress version of # custom function for FileMaker
View #.fmfn
/**
* =====================================
* # ( name ; value )
*
* RETURNS:
* An name-value pair in Let notation.
*
* PARAMETERS:
* name: The name for the returned name-value pair. name can be any value
* that would be a valid Let() variable name.
You can’t perform that action at this time.