Set-ItemProperty
Crea o modifica il valore di una proprietà di un elemento.
Sintassi
Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Descrizione
Il cmdlet Set-ItemProperty modifica il valore della proprietà dell'elemento specificato. È possibile utilizzare 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.
È inoltre possibile utilizzare Set-ItemProperty per creare e modificare dati e valori del Registro di sistema. Ad esempio, è possibile aggiungere una nuova voce del Registro di sistema a una chiave e stabilirne o modificarne il valore.
Parametri
-Credential <PSCredential>
Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "Utente01" o "Dominio01\Utente01", o immettere un oggetto PSCredential, ad esempio uno generato dal cmdlet Get-Credential. Se si digita un nome utente, viene richiesta una password.
Questo parametro non è supportato dai provider installati con Windows PowerShell.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Exclude <string[]>
Specifica gli elementi su cui il cmdlet non agirà e include tutti gli altri.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Filter <string>
Specifica un filtro nel formato o nel linguaggio del provider. Il valore di questo parametro qualifica il parametro Path. La sintassi del filtro, incluso l'utilizzo dei caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica al momento del recupero degli oggetti, anziché utilizzare Windows PowerShell per filtrare gli oggetti dopo il recupero.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Force
Consente al cmdlet di impostare una proprietà su elementi altrimenti inaccessibili dall'utente. L'implementazione varia a seconda del provider. Per ulteriori informazioni, vedere about_Providers.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Include <string[]>
Specifica solo gli elementi sui quali il cmdlet può eseguire operazioni, escludendo tutti gli altri.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InputObject <psobject>
Specifica l'oggetto che dispone delle proprietà che si desidera modificare. Immettere una variabile che contiene l'oggetto oppure un comando che consente di ottenere l'oggetto.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
false |
-LiteralPath <string[]>
Specifica un percorso della proprietà dell'elemento. Il valore di LiteralPath viene utilizzato così come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, è necessario racchiuderli tra virgolette singole tramite le quali si comunica a Windows PowerShell di non interpretare alcun carattere come sequenza di escape.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Name <string>
Specifica il nome della proprietà.
Obbligatorio? |
true |
Posizione? |
2 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-PassThru
Restituisce un oggetto che rappresenta la proprietà dell'elemento. Per impostazione predefinita, il cmdlet non genera alcun output.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Path <string[]>
Specifica il percorso degli elementi con la proprietà da impostare.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Value <Object>
Specifica il valore della proprietà.
Obbligatorio? |
true |
Posizione? |
3 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per ulteriori informazioni, vedere about_Transactions.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.Management.Automation.PSObject È possibile reindirizzare oggetti a Set-ItemProperty. |
Output |
Nessuno o System.Management.Automation.PSCustomObject Quando si utilizza il parametro PassThru, Set-ItemProperty genera un oggetto PSCustomObject che rappresenta l'elemento modificato e il nuovo valore della proprietà. Negli altri casi, il cmdlet non genera alcun output. |
Note
Il cmdlet Set-ItemProperty è progettato per l'utilizzo di dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare "Get-PSProvider". Per ulteriori informazioni, vedere about_Providers.
Esempio 1
C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value $true
Descrizione
-----------
Questo comando imposta il valore della proprietà IsReadOnly del file final.doc su true.
Nel comando viene utilizzato il cmdlet Set-ItemProperty per modificare il valore della proprietà del file final.doc. Viene utilizzato il parametro Path per specificare il file. Vengono utilizzati il parametro Name per specificare il nome della proprietà e il parametro Value per il nuovo valore.
La variabile automatica $true rappresenta il valore TRUE. Per ulteriori informazioni, vedere about_Automatic_Variables.
Il file è un oggetto System.IO.FileInfo e IsReadOnly è solo una delle relative proprietà. Per visualizzare tutte le proprietà e i metodi di un oggetto FileInfo, reindirizzare il file al cmdlet Get-Member. Ad esempio, "final.doc | get-member".
Esempio 2
C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823
C:\PS>get-itemproperty -path HKLM:\Software\MyCompany
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : mycompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823
C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824
C:\PS>get-itemproperty -path HKLM:\Software\MyCompany
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : mycompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824
Descrizione
-----------
In questo esempio viene illustrato come utilizzare Set-ItemProperty per creare una nuova voce del Registro di sistema e assegnare un valore alla voce. Viene creata la voce NoOfEmployees nella chiave MyCompany in HKLM\Software e il valore viene impostato su 823.
Poiché le voci del Registro di sistema sono considerate proprietà delle chiavi del Registro di sistema (che sono elementi), viene utilizzato Set-ItemProperty per creare le voci del Registro di sistema e per stabilire e modificare i valori.
Nel primo comando viene utilizzato il cmdlet Set-ItemProperty per creare la voce del Registro di sistema. Viene utilizzato il parametro Path per specificare il percorso nell'unità HKLM: e la chiave Software\MyCompany. Vengono utilizzati il parametro Name per specificare il nome della voce e il parametro Value per specificare un valore.
Nel secondo comando viene utilizzato il cmdlet Get-ItemProperty per vedere la nuova voce del Registro di sistema. Se si utilizzano 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 della voce NoOfEmployees in 824.
È inoltre possibile utilizzare il cmdlet New-ItemProperty per creare la voce del Registro di sistema e il relativo valore, quindi utilizzare Set-ItemProperty per modificare il valore.
Per ulteriori informazioni sull'unità HKLM:, digitare "get-help get-psdrive". Per ulteriori informazioni sull'utilizzo di Windows PowerShell per la gestione del Registro di sistema, digitare "get-help registry".
Esempio 3
C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $true
Descrizione
-----------
Questi comandi illustrano come utilizzare un operatore pipeline (|) per inviare un elemento a Set-ItemProperty.
Nella prima parte del comando viene utilizzato il cmdlet Get-ChildItem per ottenere un oggetto che rappresenta il file Weekly.txt. Viene utilizzato un operatore pipeline per inviare l'oggetto file a Set-ItemProperty. Il comando Set-ItemProperty utilizza i parametri Name e Value per specificare la proprietà e il nuovo valore.
Questo comando equivale all'utilizzo del parametro InputObject per specificare l'oggetto ottenuto da Get-ChildItem.
Vedere anche
Concetti
about_Providers
Get-ItemProperty
New-ItemProperty
Clear-ItemProperty
Remove-ItemProperty
Rename-ItemProperty
Move-ItemProperty
Copy-ItemProperty