Condividi tramite


Set-Item

Modifica il valore di un elemento nel valore specificato nel comando .

Sintassi

Set-Item
   [-Path] <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   -LiteralPath <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-Item modifica il valore di un elemento, ad esempio una variabile o una chiave del Registro di sistema, al valore specificato nel comando.

Esempio

Esempio 1: Creare un alias

Questo comando crea un alias di np per Blocco note.

Set-Item -Path Alias:np -Value "C:\windows\notepad.exe"

Esempio 2: Modificare il valore di una variabile di ambiente

Questo comando modifica il valore della variabile di ambiente UserRole in Administrator.

Set-Item -Path Env:UserRole -Value "Administrator"

Esempio 3: Modificare la funzione prompt

Questo comando modifica la funzione del prompt in modo che visualizzi l'ora prima del percorso.

Set-Item -Path Function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}

Esempio 4: Impostare le opzioni per la funzione prompt

Questo comando imposta le opzioni AllScope e ReadOnly per la funzione prompt. Questo comando usa Options parametro dinamico di Set-Item. Il parametro Options è disponibile in Set-Item solo quando viene usato con il provider di alias o funzione.

Set-Item -Path Function:prompt -Options "AllScope,ReadOnly"

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Credential

Nota

Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali quando si esegue questo cmdlet, usare Invoke-Command.

Tipo:PSCredential
Posizione:Named
Valore predefinito:Current user
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Exclude

Specifica, come matrice di stringhe, un elemento o elementi esclusi dal cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio *.txt. Sono consentiti caratteri jolly. Il parametro Exclude è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, in cui il carattere jolly specifica il contenuto della directory C:\Windows.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-Filter

Specifica un filtro per qualificare il parametro Path. Il provider di FileSystem è l'unico provider di PowerShell installato che supporta l'uso dei filtri. È possibile trovare la sintassi per il linguaggio di filtro FileSystem in about_Wildcards. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica quando il cmdlet ottiene gli oggetti anziché filtrare gli oggetti dopo il recupero.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-Force

Forza il cmdlet a impostare elementi che altrimenti non possono essere modificati, ad esempio alias o variabili di sola lettura. Il cmdlet non può modificare gli alias costanti o le variabili. L'implementazione varia da provider a provider. Per altre informazioni, vedere about_Providers. Anche usando il parametro Force, il cmdlet non può eseguire l'override delle restrizioni di sicurezza.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Include

Specifica, come matrice di stringhe, un elemento o elementi inclusi nel cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio "*.txt". Sono consentiti caratteri jolly. Il parametro Includi è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, in cui il carattere jolly specifica il contenuto della directory C:\Windows.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-LiteralPath

Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come caratteri jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Per altre informazioni, vedere about_Quoting_Rules.

Tipo:String[]
Alias:PSPath, LP
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Options

Si tratta di un parametro dinamico reso disponibile dai provider di alias e funzione. Per altre informazioni, vedere about_Alias_Provider e about_Function_Provider.

Specifica il valore della proprietà opzioni di di un alias.

I valori validi sono:

  • None: l'alias non ha vincoli (valore predefinito)
  • ReadOnly: l'alias può essere eliminato ma non può essere modificato senza usare il parametro Force
  • Constant: l'alias non può essere eliminato o modificato
  • Private: l'alias è disponibile solo nell'ambito corrente
  • AllScope: l'alias viene copiato in tutti i nuovi ambiti creati
  • Unspecified: l'opzione non è specificata
Tipo:ScopedItemOptions
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PassThru

Passa un oggetto che rappresenta l'elemento alla pipeline. Per impostazione predefinita, questo cmdlet non genera alcun output.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

Specifica un percorso della posizione degli elementi. Sono consentiti caratteri jolly.

Tipo:String[]
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-Type

Si tratta di un parametro dinamico reso disponibile dal provider di del Registro di sistema. Il provider del Registro di sistema e questo parametro è disponibile solo in Windows.

Specifica il tipo di proprietà aggiunta da questo cmdlet. I valori accettabili per questo parametro sono:

  • String: specifica una stringa con terminazione Null. Utilizzato per i valori di REG_SZ.
  • ExpandString: specifica una stringa con terminazione Null contenente riferimenti non espansi alle variabili di ambiente espanse quando viene recuperato il valore. Utilizzato per i valori REG_EXPAND_SZ.
  • Binary: specifica i dati binari in qualsiasi formato. Utilizzato per i valori di REG_BINARY.
  • DWord: specifica un numero binario a 32 bit. Utilizzato per i valori di REG_DWORD.
  • MultiString: specifica una matrice di stringhe con terminazione Null di due caratteri Null. Utilizzato per i valori REG_MULTI_SZ.
  • Qword: specifica un numero binario a 64 bit. Utilizzato per i valori di REG_QWORD.
  • Unknown: indica un tipo di dati del Registro di sistema non supportato, ad esempio REG_RESOURCE_LIST valori.
Tipo:RegistryValueKind
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Value

Specifica un nuovo valore per l'elemento.

Tipo:Object
Posizione:1
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Object

È possibile inviare tramite pipe un oggetto che rappresenta il nuovo valore dell'elemento a questo cmdlet.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

Object

Quando si utilizza il parametro PassThru, questo cmdlet restituisce un oggetto che rappresenta l'elemento.

Note

PowerShell include gli alias seguenti per Set-Item:

  • Tutte le piattaforme:

    • si
  • Set-Item non è supportato dal provider FileSystem di PowerShell. Per modificare i valori degli elementi nel file system, usare il cmdlet Set-Content.

  • Nelle unità del Registro di sistema, HKLM: e HKCU:, Set-Item modifica i dati nel valore (predefinito) di una chiave del Registro di sistema.

    • Per creare e modificare i nomi delle chiavi del Registro di sistema, usare il cmdlet New-Item e Rename-Item.
    • Per modificare i nomi e i dati nei valori del Registro di sistema, usare i cmdlet New-ItemProperty, Set-ItemPropertye Rename-ItemProperty.
  • Set-Item è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, vedere about_Providers.