Share via


Set-Alias

Crea o modifica un alias per un cmdlet o un altro comando nella sessione di PowerShell corrente.

Sintassi

Set-Alias
   [-Name] <string>
   [-Value] <string>
   [-Description <string>]
   [-Option <ScopedItemOptions>]
   [-PassThru]
   [-Scope <string>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il Set-Alias cmdlet crea o modifica un alias per un cmdlet o un comando, ad esempio una funzione, uno script, un file o un altro eseguibile. Un alias è un nome alternativo che fa riferimento a un cmdlet o a un comando. Ad esempio, sal è l'alias per il Set-Alias cmdlet . Per altre informazioni, vedere about_Aliases.

Un cmdlet può avere più alias, ma un alias può essere associato solo a un cmdlet. È possibile usare Set-Alias per riassegnare un alias esistente a un altro cmdlet o modificare le proprietà di un alias, ad esempio la descrizione.

Un alias creato o modificato da Set-Alias non è permanente ed è disponibile solo durante la sessione corrente di PowerShell. Quando la sessione di PowerShell viene chiusa, l'alias viene rimosso.

Esempio

Esempio 1: Create un alias per un cmdlet

Questo comando crea un alias a un cmdlet nella sessione corrente di PowerShell.

PS> Set-Alias -Name list -Value Get-ChildItem

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

Il Set-Alias cmdlet crea un alias nella sessione di PowerShell corrente. Il parametro Name specifica il nome dell'alias, list. Il parametro Value specifica il cmdlet eseguito dall'alias.

Per eseguire l'alias, digitare nella riga di comando di list PowerShell.

Esempio 2: Riassegnare un alias esistente a un cmdlet diverso

Questo comando riassegna un alias esistente per eseguire un cmdlet diverso.

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

PS> Set-Alias -Name list -Value Get-Location

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-Location

Il Get-Alias cmdlet usa il parametro Name per visualizzare l'alias list . L'alias list è associato al Get-ChildItem cmdlet . Quando l'alias list viene eseguito, vengono visualizzati gli elementi nella directory corrente.

Il Set-Alias cmdlet usa il parametro Name per specificare l'alias list . Il parametro Value associa l'alias al Get-Location cmdlet .

Il Get-Alias cmdlet usa il parametro Name per visualizzare l'alias list . L'alias list è associato al Get-Location cmdlet . Quando l'alias list viene eseguito, viene visualizzato il percorso della directory corrente.

Esempio 3: Create e modificare un alias di sola lettura

Questo comando crea un alias di sola lettura. L'opzione di sola lettura impedisce modifiche impreviste a un alias. Per modificare o eliminare un alias di sola lettura, usare il parametro Force .

PS> Set-Alias -Name loc -Value Get-Location -Option ReadOnly -PassThru | Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         :
Name                : loc
CommandType         : Alias

PS> Set-Alias -Name loc -Value Get-Location -Option ReadOnly -Description 'Displays the current directory' -Force -PassThru | Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         : Displays the current directory
Name                : loc
CommandType         : Alias

Il Set-Alias cmdlet crea un alias nella sessione di PowerShell corrente. Il parametro Name specifica il nome dell'alias, loc. Il parametro Value specifica il Get-Location cmdlet eseguito dall'alias. Il parametro Option specifica il valore ReadOnly . Il parametro PassThru rappresenta l'oggetto alias e invia l'oggetto alla pipeline al Format-List cmdlet . Format-List utilizza il parametro Property con un asterisco (*) in modo che vengano visualizzate tutte le proprietà. L'output di esempio mostra un elenco parziale di tali proprietà.

L'alias loc viene modificato con l'aggiunta di due parametri. La descrizione aggiunge testo per spiegare lo scopo dell'alias. Il parametro Force è necessario perché l'alias loc è di sola lettura. Se il parametro Force non viene utilizzato, la modifica ha esito negativo.

Esempio 4: Create un alias in un file eseguibile

In questo esempio viene creato un alias in un file eseguibile nel computer locale.

PS> Set-Alias -Name np -Value C:\Windows\notepad.exe

PS> Get-Alias -Name np

CommandType     Name
-----------     ----
Alias           np -> notepad.exe

Il Set-Alias cmdlet crea un alias nella sessione di PowerShell corrente. Il parametro Name specifica il nome dell'alias, np. Il parametro Value specifica il percorso e il nome dell'applicazione C:\Windows\notepad.exe. Il Get-Alias cmdlet usa il parametro Name per indicare che l'alias np è associato a notepad.exe.

Per eseguire l'alias, digitare nella riga di comando di np PowerShell per aprire notepad.exe.

Esempio 5: Create un alias per un comando con parametri

In questo esempio viene illustrato come assegnare un alias a un comando con parametri.

È possibile creare un alias per un cmdlet, ad esempio Set-Location. Non è possibile creare un alias per un comando con parametri e valori, ad esempio Set-Location -Path C:\Windows\System32. Per creare un alias per un comando, creare una funzione che include il comando e quindi creare un alias per la funzione. Per altre informazioni, vedere about_Functions.

Function CD32 {Set-Location -Path C:\Windows\System32}

Set-Alias -Name Go -Value CD32

Viene creata una funzione denominata CD32 . La funzione usa il Set-Location cmdlet con il parametro Path per specificare la directory , C:\Windows\System32.

Il Set-Alias cmdlet crea un alias per la funzione nella sessione di PowerShell corrente. Il parametro Name specifica il nome dell'alias, Go. Il parametro Value specifica il nome della funzione, CD32.

Per eseguire l'alias, digitare nella riga di comando di Go PowerShell. La CD32 funzione viene eseguita e viene modificata nella directory C:\Windows\System32.

Esempio 6: Aggiornare le opzioni per un alias esistente

In questo esempio viene illustrato come assegnare più opzioni usando il parametro Option .

Usando l'esempio precedente verrà impostato l'alias Go come ReadOnly e Private.

Set-Alias -Name Go -Option ReadOnly, Private

L'alias Go deve esistere già. Dopo aver eseguito il comando precedente, l'alias non può essere modificato senza usare il parametro Force ed è disponibile solo nell'ambito corrente.

Parametri

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Specifica una descrizione dell'alias. È possibile digitare qualsiasi stringa. Se la descrizione include spazi, racchiuderla tra virgolette singole.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Usare il parametro Force per modificare o eliminare un alias con il parametro Option impostato su ReadOnly.

Il parametro Force non può modificare o eliminare un alias con il parametro Option impostato su Constant.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifica il nome di un nuovo alias. Un nome alias può contenere caratteri alfanumerici e trattini. I nomi alias non possono essere numerici, ad esempio 123.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Option

Imposta il valore della proprietà Option dell'alias. Valori come ReadOnly e Constant proteggono un alias da modifiche impreviste. Per visualizzare la proprietà Option di tutti gli alias nella sessione, digitare Get-Alias | Format-Table -Property Name, Options -Autosize.

I valori accettabili per questo parametro sono i seguenti:

  • AllScope - L'alias viene copiato in tutti i nuovi ambiti creati.
  • Constant - Impossibile modificare o eliminare.
  • None - Non imposta alcuna opzione ed è l'impostazione predefinita.
  • Private - L'alias è disponibile solo nell'ambito corrente.
  • ReadOnly - Non può essere modificato o eliminato a meno che non venga usato il parametro Force .
  • Unspecified

Questi valori sono definiti come enumerazione basata su flag. È possibile combinare più valori per impostare più flag usando questo parametro. I valori possono essere passati al parametro Option come matrice di valori o come stringa delimitata da virgole di tali valori. Il cmdlet combina i valori usando un'operazione binary-OR. Il passaggio di valori come matrice è l'opzione più semplice e consente anche di usare il completamento tramite tabulazione sui valori.

Type:ScopedItemOptions
Accepted values:AllScope, Constant, None, Private, ReadOnly, Unspecified
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Restituisce un oggetto che rappresenta l'alias. Usare un cmdlet di formato, Format-List ad esempio per visualizzare l'oggetto . Per impostazione predefinita, Set-Alias non genera alcun output.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Specifica l'ambito in cui questo alias è valido. Il valore predefinito è Local. Per altre informazioni, vedere about_Scopes.

I valori accettabili sono i seguenti:

  • Globale
  • Locale
  • Privato
  • Ambiti numerati
  • Script
Type:String
Accepted values:Global, Local, Private, Numbered scopes, Script
Position:Named
Default value:Local
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

Specifica il nome del cmdlet o del comando eseguito dall'alias. Il parametro Value è la proprietà Definition dell'alias.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Set-Alias non accetta input dalla pipeline.

Output

None or System.Management.Automation.AliasInfo

Quando si usa il parametro PassThru , Set-Alias genera un oggetto System.Management.Automation.AliasInfo che rappresenta l'alias. In caso contrario, Set-Alias non genera alcun output.

Note

PowerShell include alias predefiniti disponibili in ogni sessione di PowerShell. Il Get-Alias cmdlet visualizza gli alias disponibili in una sessione di PowerShell.

Per creare un alias, usare i cmdlet Set-Alias o New-Alias. Per eliminare un alias in PowerShell 6, usare il Remove-Alias cmdlet . Remove-Item viene accettato per compatibilità con le versioni precedenti, ad esempio per gli script creati con le versioni precedenti di PowerShell. Usare un comando, Remove-Item -Path Alias:aliasnamead esempio .

Per creare un alias disponibile in ogni sessione di PowerShell, aggiungerlo al profilo di PowerShell. Per altre informazioni, vedere about_Profiles.

Un alias può essere salvato e riutilizzato in un'altra sessione di PowerShell eseguendo un'esportazione e un'importazione. Per salvare un alias in un file, usare Export-Alias. Per aggiungere un alias salvato a una nuova sessione di PowerShell, usare Import-Alias.