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 / Export-CsvWithMilliseconds.ps1
Last active September 30, 2024 20:53
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 July 21, 2025 08:02
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 October 16, 2025 09:05
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)
$iswinps = ($null, 'Desktop') -contains $PSVersionTable.PSEdition
if (!$iswinps)
{
@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 January 31, 2024 14:49
Resolve path to short (8.3) version
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/54a260dbd0fcd6672de13cf9e81b41db#file-resolve-shortpath-ps1
param([Parameter(Mandatory = $true)][string] $Path)
# derived from https://devblogs.microsoft.com/scripting/use-powershell-to-display-short-file-and-folder-names/
$item = Get-Item -Path $Path -ErrorAction SilentlyContinue
@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 August 20, 2025 13:08
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
# this is one of Stéphane BARIZIEN's public domain scripts
# the most recent version can be found at:
# https://gist.github.com/sba923/571e7b02bddab9c587ee97110b898629#file-remove-emptydirectories-ps1
param([string] $Path, [switch] $IgnoreSystemFiles, [switch] $torecyclebin, [switch] $ContinueOnErrors)
if (!(Test-Path -Path $Path))
{
throw("'{0}' not found" -f $Path)
}
@sba923
sba923 / df.ps1
Last active October 13, 2025 19:03
*nix work-alike's for PowerShell: df, dirname, whatis, whence
<#
.SYNOPSIS
Displays disk usage statistics for local and network drives, similar to the Unix 'df' command.
.DESCRIPTION
This script lists all logical drives on the system, showing their total size, free space, percent free, and percent used.
It supports filtering by drive letter and can output results as objects for further processing.
.PARAMETER PassThru
If specified, outputs objects instead of a formatted table, suitable for piping or further processing.