Um eine Funktion zu erstellen, speichern Sie sie als Alias und behalten Sie das Ganze für später in Ihrem Profil bei. Verwenden Sie:
$g=[guid]::NewGuid();
echo "function G$g { COMMANDS }; New-Alias -Force ALIAS G$g">>$profile
wo Sie durch ALIAS
den gewünschten Alias und COMMANDS
durch den auszuführenden Befehl oder die auszuführende Befehlsfolge ersetzt haben.
Stattdessen können (und sollten!) Sie stattdessen einen Alias für das oben Gesagte erstellen, indem Sie:
echo 'function myAlias {
$g=[guid]::NewGuid();
$alias = $args[0]; $commands = $args[1]
echo "function G$g { $commands }; New-Alias -Force $alias G$g">>$profile
}; New-Alias alias myAlias'>>$profile
Nur für den Fall, dass Ihr Gehirn von der gesamten Rekursion (Aliasing von Aliasen usw.) nach dem Einfügen des zweiten Codeblocks in Ihre PowerShell (und dem Neustart von PowerShell) auf den Kopf gestellt wurde, ist ein einfaches Beispiel für die Verwendung:
alias myEcho 'echo $args[0]'
oder ohne Argumente:
alias myLs 'ls D:\MyFolder'
Wenn Sie noch kein Profil haben
Die obige Methode schlägt fehl, wenn Sie noch kein Profil haben! Verwenden Sie in diesem Fall New-Item -type file -path $profile -force
diese Antwort .
Function SCP-Filetransfer { cmd /c pscp.exe -i ~\.ssh\id_rsa.ppk $args } New-Alias -Force pscp SCP-Filetransfer