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 cmdlet Set-ItemProperty
modifica il valore della proprietà dell'elemento specificato.
È possibile usare il cmdlet per stabilire 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
.
È anche possibile usare Set-ItemProperty
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 stabilire 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 Percorso per specificare il file, Nome per specificare il nome della proprietà e il parametro Valore 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 variabile automatica $true
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 chiave HKLM\Software
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 Percorso per specificare il percorso dell'unità HKLM:
e la chiave di Software\MyCompany
.
Il comando usa nome per specificare il nome della voce e valore per specificare un valore.
Il secondo comando usa il cmdlet Get-ItemProperty
per visualizzare la nuova voce del Registro di sistema.
Se si usano i cmdlet Get-Item
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 di NoOfEmployees voce su 824.
È anche possibile usare il cmdlet New-ItemProperty
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
L'esempio usa Get-ChildItem
per ottenere il file di weekly.txt
. L'oggetto file viene inviato tramite pipe a Set-ItemProperty
. Il comando Set-ItemProperty
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 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 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"
. 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 |
-InputObject
Specifica l'oggetto con le proprietà che vengono apportate a questo cmdlet. Immettere una variabile contenente l'oggetto o un comando che ottiene l'oggetto .
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-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 |
-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, questo 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. 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 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 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
È 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 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.