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 di PowerShell corrente. Quando la sessione di PowerShell viene chiusa, l'alias viene rimosso.
Esempio
Esempio 1: Creare un alias per un cmdlet
Questo comando crea un alias per un cmdlet nella sessione di PowerShell corrente.
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 list
nella riga di comando di 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 viene eseguito l'alias list
, 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 viene eseguito l'alias list
, viene visualizzato il percorso della directory corrente.
Esempio 3: Creare e modificare un alias di sola lettura
Questo comando crea un alias di sola lettura. L'opzione di sola lettura impedisce modifiche indesiderate a un alias. Per modificare o eliminare un alias di sola lettura, usare il parametro Force .
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
$Parameters = @{
Name = 'loc'
Value = (Get-Location)
Option = 'ReadOnly'
Description = 'Displays the current directory'
Force = $true
PassThru = $true
}
Set-Alias @Parameters | 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 verso il basso nella pipeline al Format-List
cmdlet . Format-List
utilizza il parametro Property con un asterisco (*
) in modo che venga visualizzata ogni 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 usato, la modifica ha esito negativo.
Esempio 4: Creare 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 C:\Windows\notepad.exe
dell'applicazione . 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 np
comando di PowerShell per aprire notepad.exe
.
Esempio 5: Creare 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 Go
nella riga di comando di 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 .
Continuando dall'esempio precedente, impostare l'alias Go
come ReadOnly
e Private
.
Set-Alias -Name Go -Option ReadOnly, Private
L'alias Go
dovrebbe esistere già. Dopo aver eseguito il comando, l'alias non può essere modificato senza usare il parametro Force ed è disponibile solo nell'ambito corrente.
Parametri
-Confirm
Richiede conferma 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 degli 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
- Non è possibile modificare o eliminare.None
- Imposta nessuna 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 è valido questo alias. Il valore predefinito è Local. Per altre informazioni, vedere about_Scopes.
I valori accettabili sono i seguenti:
Global
Local
Private
Numbered scopes
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 gli effetti dell'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
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si usa il parametro PassThru , questo cmdlet restituisce un oggetto AliasInfo che rappresenta l'alias.
Note
PowerShell include gli alias seguenti per Set-Alias
:
- Tutte le piattaforme:
sal
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 Set-Alias
cmdlet o New-Alias
. In PowerShell 6, per eliminare un alias, 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:aliasname
ad 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
.