Set-Alias
Crea o modifica un alias per un cmdlet o un altro comando nella sessione di PowerShell corrente.
Sintassi
Default (impostazione predefinita).
Set-Alias
[-Name] <string>
[-Value] <string>
[-Description <string>]
[-Option <ScopedItemOptions>]
[-PassThru]
[-Scope <string>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Set-Alias 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 del cmdlet Set-Alias. 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 cmdlet Set-Alias 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 cmdlet Get-Alias usa il parametro name per visualizzare l'alias list. L'alias list è associato al cmdlet Get-ChildItem. Quando viene eseguito l'alias list, vengono visualizzati gli elementi nella directory corrente.
Il cmdlet Set-Alias usa il parametro Name per specificare l'alias list. Il parametro Value associa l'alias al cmdlet Get-Location.
Il cmdlet Get-Alias usa il parametro name per visualizzare l'alias list. L'alias list è associato al cmdlet Get-Location. 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 cmdlet Set-Alias crea un alias nella sessione di PowerShell corrente. Il parametro Name specifica il nome dell'alias loc. Il parametro Value specifica il cmdlet Get-Location eseguito dall'alias. Il parametro Option consente di specificare il valore ReadOnly. Il parametro PassThru rappresenta l'oggetto alias e invia l'oggetto alla pipeline al cmdlet Format-List.
Format-List usa il parametro property con un asterisco (*) in modo che ogni proprietà venga visualizzata. L'output di esempio mostra un elenco parziale di tali proprietà.
L'alias loc viene modificato con l'aggiunta di due parametri.
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 cmdlet Set-Alias 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 cmdlet Get-Alias usa il parametro name per indicare che l'alias np è associato a notepad.exe.
Per eseguire l'alias, digitare np nella riga di 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 cmdlet Set-Location con il parametro Path per specificare la directory C:\Windows\System32.
Il cmdlet Set-Alias 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 funzione CD32 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.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Description
Specifica una descrizione dell'alias. È possibile digitare qualsiasi stringa. Se la descrizione include spazi, racchiuderla tra virgolette singole.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Option
Imposta il valore della proprietà option dell'alias. Valori come ReadOnly e Constant proteggere 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 un'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 array è l'opzione più semplice e consente anche di usare il completamento automatico con il tasto tab sui valori.
Proprietà dei parametri
| Tipo: | ScopedItemOptions |
| Valore predefinito: | None |
| Valori accettati: | AllScope, Constant, None, Private, ReadOnly, Unspecified |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PassThru
Restituisce un oggetto che rappresenta l'alias. Usare un cmdlet di formato, ad esempio Format-List per visualizzare l'oggetto. Per impostazione predefinita, Set-Alias non genera alcun output.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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:
GlobalLocalPrivateNumbered scopesScript
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | Local |
| Valori accettati: | Global, Local, Private, Numbered scopes, Script |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Value
Specifica il nome del cmdlet o del comando eseguito dall'alias. Il parametro Value è la proprietà definizione alias.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
AliasInfo
Quando si utilizza 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 cmdlet Get-Alias 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 cmdlet Remove-Alias.
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, ad esempio Remove-Item -Path Alias:AliasName.
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.