You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.2 KiB
PowerShell

Set-PSReadLineOption -EditMode Vi
#region keybindings
Set-PSReadlineKeyHandler -Key Tab -Function Complete
Set-PSReadlineKeyHandler -Key Ctrl+d -Function ViExit
#endregion keybindings
function prompt {
#depending on elevated permissions change the delimiter
$identity = [Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()
if($identity.IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
$delimiter = '#'
} else {
$delimiter = '$'
}
#shorten path with tilde if possible
#uses .Replace() to prevent regex
$cwd = (Get-Location).Path.Replace($HOME,'~')
'[{0}@{1} {2}]{3} ' -f $env:USERNAME.ToLower(),$env:COMPUTERNAME.ToLower(),$cwd,$delimiter
}
function Get-BetterADUser {
param (
[Parameter(Mandatory=$true,
Position=0)]
[string]
$SearchTerm,
[string]
$Server = $env:USERDNSDOMAIN
)
$filter = 'UserPrincipalName -like "*{0}*" -or Name -like "*{0}*"' -f $SearchTerm
Get-ADUser -Filter $filter -Server $Server
}
#check for old version
if($PSVersionTable.PSVersion.Major -le 5){
Write-Host -ForegroundColor Red 'start pwsh instead of powershell'
}