Condividi tramite


Set-Item

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

Sintassi

Path (Default) - All providers

Set-Item
    [-Path] <String[]>
    [[-Value] <Object>]
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath - All providers

Set-Item
    [[-Value] <Object>]
    -LiteralPath <String[]>
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Path (Default) - Alias and Function providers

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

LiteralPath - Alias and Function providers

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

Path (Default) - Registry provider

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

LiteralPath - Registry provider

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 affinché 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 utilizza il parametro dinamico Opzioni di Set-Item. Il parametro Options è disponibile in Set-Item solo quando viene usato con alias o funzione provider.

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

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

-Credential

Annotazioni

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.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:Current user
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à:True
Valore dagli argomenti rimanenti:False

-Exclude

Specifica, come array di stringhe, uno o più elementi che questo cmdlet esclude durante l'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 è valido solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, nel quale il carattere jolly specifica il contenuto della directory C:\Windows.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
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

-Filter

Specifica un filtro per qualificare il parametro Path. Il provider di FileSystem è l'unico provider di PowerShell installato che supporta l'utilizzo dei filtri. È possibile trovare la sintassi del 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.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:True
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

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, consultare about_Providers. Anche usando il parametro Force, il cmdlet non può eseguire l'override delle restrizioni di sicurezza.

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

-Include

Specifica, sotto forma di matrice di stringhe, un elemento o elementi che questo cmdlet include 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 Include è efficace solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, dove il carattere jolly specifica il contenuto della directory C:\Windows.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
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

-LiteralPath

Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene utilizzato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. Se il percorso include caratteri di escape, racchiudilo 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.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

LiteralPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Options

Si tratta di un parametro dinamico reso disponibile dai provider dell'Alias e della 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

Proprietà dei parametri

Tipo:ScopedItemOptions
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

-PassThru

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

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

-Path

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

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

Path
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Type

Si tratta di un parametro dinamico reso disponibile dal provider del Registro . Il provider del Registro e questo parametro sono disponibili solo su 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. Impiegato 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 terminate da un carattere Null, seguite da due caratteri Null che terminano l'intera matrice. 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 valori REG_RESOURCE_LIST.

Proprietà dei parametri

Tipo:RegistryValueKind
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à:True
Valore dagli argomenti rimanenti:False

-Value

Specifica un nuovo valore per l'elemento.

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:False
Valore dalla pipeline:True
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

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, consultare about_Providers.