Condividi tramite


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.exedell'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.

AliasInfo

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: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.