Wissen/B02_Aliase.ps1
# ? TITEL Aliase # ? DESCRIPTION Aliase für Cmdlets verwalten. # ? TAGS Aliase # ? VERSION 2019.11.11 [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingCmdletAliases', '')] param() # ! Ein Alias ist ein Aufrufkürzel für ein Cmdlet # ! Es gibt Default-Aliase aber es können auch eigene definiert werden # ! Aliase müssen für jede Sitzung neu definiert werden # TODO Weiterführende und Nachschlage-Informationen Get-Help -Name about_Alias -ShowWindow Get-Command -Noun Alias Get-ChildItem -Path Alias:\ #! Aliase erleichten die Arbeit in der Console, #! sollen aber nicht in Skripten verwendet werden #! da sonst die Lesbarkeit da runter leidet #! und die Gefahr besteht das Änderungen am Alias-System #! das Skript unbrauchbar/fehlerhaft wird! Get-Process | Where-Object -Property Company -like -Value "Microsoft*" | Sort-Object -Property Name | Format-Table -Property Name, Company #! vs. gps | ? Company -like "Microsoft*" | sort Name | ft Name, Company # ? Übersicht aller Aliase Get-Alias Get-Command -CommandType Alias # ? Wie lautet das Cmdlet für den Alias 'ls', 'tnc' Get-Alias -Name ls Import-Module -Name NetTCPIP Get-Alias -Name tnc <# bzw. #> Get-command -Name tnc -CommandType Alias # ? Welche Aliase gibt es für 'Get-ChildItem', 'Test-NetConnection' Get-Alias -Definition Get-ChildItem Get-Alias -Definition Test-NetConnection # ? Eigene Aliase erstellen (PowerShell sticht DOS) New-Alias -Name ping -Value Test-NetConnection ping 127.0.0.1 # ! Aliase werden nach Sitzungsende wieder gelöscht # ! Siehe auch Export-Alias; Import-Alias # ? Welche Cmdlets beschäftigen sich mit Aliase Get-Command -Noun Alias # ? Alias werden in einem PSProvider gespeichert/organisiert Get-ChildItem -Path Alias:\ # ! Für Parameter können auch Aliase definiert sein, # ! diese werden jedoch nicht in der Hilfe angezeigt. # ? Welche es sein können erfahren Sie so: Get-Command -Name Get-ChildItem | Select-Object -ExpandProperty Parameters | Select-Object -ExpandProperty Values | Select-Object -Property Name, Aliases #region Übungen <# TODO Übung 1 (Alias) ? A) Für welches Cmdlet steht der Alias 'tee'? ? B) Erstellen Sie einen Alias 'todo' für das Cmdlet 'Add-Content'. ? C) Ein Häcker möchte gerne den Alias dir verändern, so das der entsprechende Ordner gelöscht wird, ist das möglich? ? D) Verändern Sie den Alias ise auf notepad. ? E) Wie Können Alias vor Veränderungen geschützt werden (gilt auch für Variablen und Funktionen)? ? F) Warum sollte man Aliase in Scripten nicht verwenden bzw. wann sollte man diese verwenden? ! TIPPS: Set-Alias; New-Alias; Get-Alias * MUSTERLÖSUNG: #> #endregion |