public/Show-DsFileExtensions.ps1
function Show-DsFileExtensions { <# .SYNOPSIS Enable display of file extensions in Windows Explorer .DESCRIPTION Enable display of file extensions in Windows Explorer .PARAMETER Enable Toggle display on (Enable $True) or off (Enable $False) .PARAMETER RestartShell Restart the Explorer shell to apply changes .EXAMPLE Show-DsFileExtensions -Enable $True -RestartShell .LINK https://github.com/Skatterbrainz/ds-utils/blob/master/docs/Show-DsFileExtensions.md #> [CmdletBinding()] [OutputType()] param ( [parameter(Mandatory)][bool] $Enable, [parameter()][switch] $RestartShell ) if ($Enable -eq $True) {$v = 1} else {$v = 0} try { Write-DsLog -Message "setting windows explorer file extensions display to $Enable" $key = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" Set-ItemProperty -Path $key -Name "HideFileExt" -Value $v -Force if ($RestartShell) { Write-DsLog -Message "restarting explorer shell process" Get-Process -Name "explorer" | Stop-Process -Force } else { Write-DsLog -Message "change will take effect after Explorer shell is restarted or user logs off" -Category Warning } } catch { Write-DsLog -Message $Error[0].Exception.Message -Category Error } } |