Come fare una tabella alias


1

Come sappiamo, Cmtletforse un sacco di alias, come copy,cp,cpisempre significa Copy-Item. Quindi voglio creare una tabella di alias, mi piacerà:

...
...
...
Copy-Item     copy,cp,cpi
Clear-Host    cls,clear
Move-Item     mi,move,mv
...
...
...

Posso ottenere tutte le informazioni di alias utilizzate (Get-Command -CommandType Alias).Definition|Get-Uniqueper ottenere la prima colonna ... Ma non so come ottenere la seconda colonna.


1
Che cosa hai provato e in che modo ciò che hai provato è fallito? SU non è un servizio di scrittura di codice; le domande migliori sono quelle che forniscono informazioni utili in modo che coloro che rispondono possano guidarti nell'elaborare la tua risposta corretta. Vedi Come fare una buona domanda .
Jeff Zeitlin,

Grazie per specificare. Farò ulteriori ricerche dopo aver postato una domanda in questo sito, ma penso che mi Group-Objectpossa aiutare molto.
yode

Risposte:


2

Se lo vuoi ordinato e senza parentesi graffe:

Get-Alias | Sort Definition | Group-Object Definition|
  ForEach-Object{"{0,-30} {1}" -f $_.Name,(($_.group.name) -join(', ')) }

Add-Content                    ac
Add-PSSnapIn                   asnp
Clear-Content                  clc
Clear-History                  clhy
Clear-Host                     clear, cls

Modifica Una variante che restituisce una [pscustomobject]stringa anziché una stringa formattata:

Get-Alias | Sort-Object Definition | Group-Object Definition | ForEach-Object{
    [PSCustomObject]@{
        CmdLet = $_.Name
        Aliases =(($_.group.name) -join(', '))
    }
}

CmdLet                         Aliases
------                         -------
Add-Content                    ac
Add-PSSnapIn                   asnp
Clear-Content                  clc
Clear-History                  clhy
Clear-Host                     clear, cls

Preferisco davvero una versione senza parentesi graffe, è solo un po 'complicata .. :)
yode

1
PS C:\> Get-Alias | Group-Object definition|ft name,group

darà ciò che sto cercando

Name                           Group
----                           -----
ForEach-Object                 {%, foreach}
Where-Object                   {?, where}
Add-Content                    {ac}
Add-PSSnapIn                   {asnp}
Get-Content                    {cat, gc, type}
Set-Location                   {cd, chdir, sl}
ConvertFrom-String             {CFS}
Clear-Content                  {clc}
Clear-Host                     {clear, cls}
Clear-History                  {clhy}
Clear-Item                     {cli}
Clear-ItemProperty             {clp}
Clear-Variable                 {clv}
Connect-PSSession              {cnsn}
Compare-Object                 {compare, diff}
...
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.