Set-ItemProperty
Crea o modifica il valore di una proprietà di un elemento.
Sintassi
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Descrizione
Il Set-ItemProperty
cmdlet modifica il valore della proprietà dell'elemento specificato.
È possibile usare il cmdlet per definire o modificare le proprietà degli elementi.
Ad esempio, è possibile utilizzare Set-ItemProperty
per impostare il valore della proprietà IsReadOnly di un oggetto file su $True
.
Si usa Set-ItemProperty
anche per creare e modificare i valori e i dati del Registro di sistema.
Ad esempio, è possibile aggiungere una nuova voce del Registro di sistema a una chiave e definire o modificare il relativo valore.
Esempio
Esempio 1: Impostare una proprietà di un file
Questo comando imposta il valore della proprietà IsReadOnly del file "final.doc" su "true". Usa Path per specificare il file, Name per specificare il nome della proprietà e il parametro Value per specificare il nuovo valore.
Il file è un oggetto System.IO.FileInfo e IsReadOnly è solo una delle relative proprietà.
Per visualizzare tutte le proprietà, digitare Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property
.
La $true
variabile automatica rappresenta il valore "TRUE". Per altre informazioni, vedere about_Automatic_Variables.
Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true
Esempio 2: Creare una voce e un valore del Registro di sistema
In questo esempio viene illustrato come usare Set-ItemProperty
per creare una nuova voce del Registro di sistema e per assegnare un valore alla voce. Crea la voce "NoOfEmployees" nella chiave "ContosoCompany" nella HKLM\Software
chiave e ne imposta il valore su 823.
Poiché le voci del Registro di sistema vengono considerate proprietà delle chiavi del Registro di sistema, ovvero elementi, è possibile usare Set-ItemProperty
per creare voci del Registro di sistema e per stabilire e modificare i relativi valori.
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824
Il primo comando crea la voce del Registro di sistema.
Usa Path per specificare il percorso dell'unità HKLM:
e della Software\MyCompany
chiave.
Il comando usa Name per specificare il nome della voce e Value per specificare un valore.
Il secondo comando usa il Get-ItemProperty
cmdlet per visualizzare la nuova voce del Registro di sistema.
Se si usano i Get-Item
cmdlet o Get-ChildItem
, le voci non vengono visualizzate perché sono proprietà di una chiave, non elementi o elementi figlio.
Il terzo comando modifica il valore della voce NoOfEmployees su 824.
È anche possibile usare il New-ItemProperty
cmdlet per creare la voce del Registro di sistema e il relativo valore e quindi usare Set-ItemProperty
per modificare il valore.
Per altre informazioni sull'unità HKLM:
, digitare Get-Help Get-PSDrive
.
Per altre informazioni su come usare PowerShell per gestire il Registro di sistema, digitare Get-Help Registry
.
Esempio 3: Modificare un elemento usando la pipeline
Nell'esempio viene usato Get-ChildItem
per ottenere il weekly.txt
file. L'oggetto file viene inviato tramite pipe a Set-ItemProperty
. Il Set-ItemProperty
comando usa i parametri Name e Value per specificare la proprietà e il nuovo valore.
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
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 una proprietà sugli elementi a cui non è possibile accedere in altro modo dall'utente. L'implementazione varia in base al provider. Per altre informazioni, vedere about_Providers.
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 |
-InputObject
Specifica l'oggetto con le proprietà che vengono apportate a questo cmdlet. Immettere una variabile che contiene l'oggetto o un comando che lo ottiene.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-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, LP |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica il nome della proprietà.
Tipo: | String |
Alias: | PSProperty |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PassThru
Restituisce un oggetto che rappresenta la proprietà dell'elemento. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Path
Specifica il percorso degli elementi con la proprietà da modificare. 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 |
-Value
Specifica il valore della proprietà.
Tipo: | Object |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | True |
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
È possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si utilizza il parametro PassThru , questo cmdlet restituisce un oggetto PSCustomObject che rappresenta l'elemento modificato e il relativo nuovo valore della proprietà.
Note
PowerShell include gli alias seguenti per Set-ItemProperty
:
- Tutte le piattaforme:
sp
Set-ItemProperty
è 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.