Skip to content

Instantly share code, notes, and snippets.

View sba923's full-sized avatar

Stéphane BARIZIEN sba923

  • Charenton-le-Pont, France
View GitHub Profile
@sba923
sba923 / Get-WindowsTerminalVersion.ps1
Last active April 26, 2026 14:35
PowerShell utilities for Windows Terminal
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/c41f97a5f4ea15c957227712f42b14f3#file-get-windowsterminalversion-ps1
# cSpell: ignore wekyb bbwe Stéphane BARIZIEN
<#
.SYNOPSIS
Returns the Windows Terminal version for the current PowerShell session host chain.
@sba923
sba923 / Get-PowerShellRunningInWindowsTerminalKeyBinding.ps1
Last active May 1, 2026 14:36
PowerShell utilities to deal with keybindings
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at: https://gist.github.com/sba923/5671d24e0ae533689490b504eb5d8401#file-get-powershellrunninginwindowsterminalkeybinding-ps1
#requires -version 7
<#
.SYNOPSIS
Returns effective PowerShell key bindings when running inside Windows Terminal.
.DESCRIPTION
@sba923
sba923 / Export-CsvWithMilliseconds.ps1
Last active March 22, 2026 19:25
Improvement on Export-Csv that includes milliseconds in DateTime properties
#requires -version 7.3
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/bc52cf74197ab3cddce825e8b502e28b#file-export-csvwithmilliseconds-ps1
<#
.SYNOPSIS
Proxy for Export-Csv that adds milliseconds to DateTime properties
@sba923
sba923 / ctime.ps1
Last active January 31, 2024 14:49
Helper for "gci ... | ctime x" PowerShell equivalent to "find ... -ctime x"
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/792b13b3cd8e14eabd92963622a10de0#file-ctime-ps1
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline)]
$Item,
[Parameter(Position=0)][int] $Days
)
@sba923
sba923 / Get-ZoomItHelp.ps1
Last active May 2, 2026 07:09
Utilities to help working with Sysinternals ZoomIt
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/7ea3d013b1f758a947eea6c2e4f89f73#file-get-zoomIthelp-ps1
<#
.SYNOPSIS
Show help for ZoomIt functions, with currently configured hotkeys
.DESCRIPTION
This script outputs help information the ZoomIt functions
@sba923
sba923 / Remove-UselessKeyboardLayouts.ps1
Last active February 17, 2026 05:54
Remove the unwanted keyboard layouts that Windows keeps adding based on input languages
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/a71dd721e78ae08842616db244f19437#file-remove-uselesskeyboardLayouts-ps1
[CmdletBinding()]
param([string] $PhysicalKeyboardLayout)
# cSpell: ignore Stéphane BARIZIEN's
$isWinPS = ($null, 'Desktop') -contains $PSVersionTable.PSEdition
@sba923
sba923 / Convert-DateTimePropertiesToStringWithMilliseconds.ps1
Last active September 30, 2024 19:57
Convert all DateTime properties of objects on the pipeline to strings including milliseconds, to work around Export-CSV's limitation
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/ddc6e300e2bbe3f01d1ee20276d0cfe4#file-convert-datetimepropertiestostringwithmilliseconds-ps1
#requires -Version 7.3
# this rewrites the objects on the pipeline so that DateTime members are replaced with a string representation including milliseconds
# to work around the fact Export-CSV doesn't include milliseconds (see https://github.com/PowerShell/PowerShell/issues/19536)
# compute millisecond-aware version of the current datetime format
@sba923
sba923 / Resolve-ShortPath.ps1
Last active April 24, 2026 08:16
Resolve path to short (8.3) version
<#
.SYNOPSIS
Resolves a filesystem path to its DOS 8.3 short path.
.DESCRIPTION
Uses the Scripting.FileSystemObject COM API to compute the short name of each
path component and returns the resolved path object with an added `ShortPath`
property.
Only filesystem paths are supported.
@sba923
sba923 / mtime.ps1
Last active January 31, 2024 14:49
Helper for "gci ... | mtime x" PowerShell equivalent to "find ... -mtime x"
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/0395f7fd716d87cf92d52946b10a30b7#file-mtime-ps1
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline)]
$Item,
[Parameter(Position=0)][int] $Days
)
@sba923
sba923 / Update-SeleniumDriver.ps1
Last active March 22, 2026 19:25
Update Selenium drivers found on the PATH
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/d5406e7fded598b9c1131ddf9f099564#file-update-seleniumdriver-ps1
[CmdletBinding()]
param(
[Parameter(ParameterSetName = 'InstallIfMissing', Mandatory = $true)][switch] $InstallIfMissing,
[Parameter(ParameterSetName = 'InstallIfMissing', Mandatory = $true)][string] $Destination,
[Parameter(ParameterSetName = 'NoParameters')] [switch] $_NeverUseThisParameter,
[switch]$ClearCache