Condividi tramite


Set-Item

Imposta il valore di un elemento sul valore specificato nel comando.

Sintassi

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

Descrizione

Il Set-Item cmdlet 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 il parametro dinamico Options di Set-Item. Il parametro Options è disponibile in Set-Item solo quando viene usato con il provider Alias o Function .

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 durante l'esecuzione di 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. I caratteri jolly sono consentiti. Il parametro Exclude è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, dove il carattere jolly specifica il contenuto della C:\Windows directory.

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 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ò cambiare alias o variabili costanti. L'implementazione varia a seconda del 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". I caratteri jolly sono consentiti. Il parametro Include è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, dove il carattere jolly specifica il contenuto della C:\Windows directory.

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

-LiteralPath

Specifica un percorso di una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come carattere 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
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 Alias e Function . Per altre informazioni, vedere about_Alias_Provider e about_Function_Provider.

Specifica il valore della proprietà Options 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, il 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. I caratteri jolly sono consentiti.

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 del Registro di sistema . Il provider del Registro di sistema e questo parametro sono disponibili solo in Windows.

Specifica il tipo di proprietà aggiunta da questo cmdlet. I valori validi 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 che contiene 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 REG_BINARY .
  • DWord: specifica un numero binario a 32 bit. Utilizzato per i valori 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 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

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.

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

-Value

Specifica il 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 gli effetti dell'esecuzione del cmdlet. 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 usa il parametro PassThru , questo cmdlet restituisce un oggetto che rappresenta l'elemento.

Note

Windows PowerShell include gli alias seguenti per Set-Item:

  • si

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

  • Nelle unità HKLM: del Registro di sistema 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 New-Item cmdlet e Rename-Item .
    • Per modificare i nomi e i dati nei valori del Registro di sistema, usare i New-ItemPropertycmdlet , 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.