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]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
[-Path] <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<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 usare 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 un valore "TRUE".
Per altre informazioni, vedere about_Automatic_Variables.
Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true
Esempio 2: Create 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 assegnare un valore alla voce.
Crea la voce "NoOfEmployees" nella chiave "ContosoCompany" nella chiave "HKLM\Software" e 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 valori.
Il primo comando crea la voce del Registro di sistema.
Usa Path per specificare il percorso dell'unità e la HKLM:
chiave "Software\MyCompany".
Il comando usa Name per specificare il nome della voce e Valore 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
.
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
Esempio 3: Modificare un elemento usando la pipeline
Questi comandi mostrano come usare un operatore pipeline (|
) per inviare un elemento a Set-ItemProperty
.
La prima parte del comando usa Get-ChildItem
per ottenere un oggetto che rappresenta il file "Weekly.txt".
Il comando usa un operatore della pipeline per inviare l'oggetto file a Set-ItemProperty
.
Il Set-ItemProperty
comando usa i parametri Name e Value per specificare la proprietà e il nuovo valore.
Questo comando equivale all'uso del parametro InputObject per specificare l'oggetto che Get-ChildItem
ottiene.
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
Parametri
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifica un account utente che dispone delle autorizzazioni per eseguire questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "User01" o "Domain01\User01" oppure immettere un oggetto PSCredential , ad esempio uno generato dal Get-Credential
cmdlet.
Se si digita un nome utente, viene richiesto di specificare una password.
Avviso
Questo parametro non è supportato dai provider installati con Windows PowerShell.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Specifica gli elementi in base al quale il cmdlet non agisce e include tutti gli altri. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o modello di percorso, ad esempio "*.txt". I caratteri jolly sono consentiti.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Filter
Specifica un filtro nel formato o nella lingua del provider. Il valore di questo parametro qualifica il parametro Path.
La sintassi del filtro, incluso l'uso di caratteri jolly, dipende dal provider. I filtri sono più efficienti di altri parametri, perché il provider li applica quando il cmdlet ottiene gli oggetti invece di filtrare gli oggetti di PowerShell dopo il recupero.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Forza il cmdlet a impostare una proprietà sugli elementi che altrimenti non possono essere accessibili dall'utente. L'implementazione varia a seconda del provider. Per altre informazioni, vedere about_Providers.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Specifica solo gli elementi in base al quale il cmdlet agisce, che esclude tutti gli altri. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o modello di percorso, ad esempio "*.txt". I caratteri jolly sono consentiti.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica l'oggetto con le proprietà modificate da questo cmdlet. Immettere una variabile che contiene l'oggetto o un comando che lo ottiene.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Specifica un percorso della proprietà item. A differenza del parametro Path, il valore di LiteralPath viene usato esattamente com'è digitato. 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 i caratteri come sequenze di escape.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Specifica il nome della proprietà.
Type: | String |
Aliases: | PSProperty |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Restituisce un oggetto che rappresenta la proprietà item. Per impostazione predefinita, il cmdlet non genera alcun output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifica il percorso degli elementi con la proprietà da modificare.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Specifica il valore della proprietà.
Type: | Object |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile inviare oggetti tramite pipe a questo cmdlet.
Output
None, System.Management.Automation.PSCustomObject
Questo cmdlet genera un oggetto PSCustomObject che rappresenta l'elemento modificato e il nuovo valore della proprietà, se si specifica il parametro PassThru . In caso contrario, il cmdlet non genera alcun output.
Note
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.