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




Argomenti della Guida