Condividi tramite


New-ItemProperty

Crea una nuova proprietà per un elemento e ne imposta il valore.

Sintassi

New-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-PropertyType <String>]
   [-Value <Object>]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
New-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-PropertyType <String>]
   [-Value <Object>]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

Descrizione

Il New-ItemProperty cmdlet crea una nuova proprietà per un elemento specificato e ne imposta il valore. Questo cmdlet viene in genere usato per creare nuovi valori del Registro di sistema, perché i valori del Registro di sistema sono proprietà di un elemento chiave del Registro di sistema.

Questo cmdlet non aggiunge proprietà a un oggetto.

  • Per aggiungere una proprietà a un'istanza di un oggetto , usare il Add-Member cmdlet .
  • Per aggiungere una proprietà a tutti gli oggetti di un particolare tipo, modificare il file Types.ps1xml.

Esempio

Esempio 1: Aggiungere una voce del Registro di sistema

Questo comando aggiunge una nuova voce del Registro di sistema, "NoOfEmployees", alla chiave "MyCompany" dell'hive "HKLM:\Software".

Il primo comando usa il parametro Path per specificare il percorso della chiave del Registro di sistema "MyCompany". Usa il parametro Name per specificare un nome per la voce e il parametro Value per specificarne il valore.

Il secondo comando usa il Get-ItemProperty cmdlet per visualizzare la nuova voce del Registro di sistema.

New-ItemProperty -Path "HKLM:\Software\MyCompany" -Name "NoOfEmployees" -Value 822
Get-ItemProperty "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 : 822

Esempio 2: Aggiungere una voce del Registro di sistema a una chiave

Questo comando aggiunge una nuova voce del Registro di sistema a una chiave del Registro di sistema. Per specificare la chiave, usa un operatore pipeline (|) per inviare un oggetto che rappresenta la chiave a New-ItemProperty.

La prima parte del comando usa il Get-Item cmdlet per ottenere la chiave del Registro di sistema "MyCompany". L'operatore pipeline invia i risultati del comando a New-ItemProperty, che aggiunge la nuova voce del Registro di sistema ("NoOfLocations") e il relativo valore (3), alla chiave "MyCompany".

Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3

Questo comando funziona perché la funzionalità di associazione di parametri di Windows PowerShell associa il percorso dell'oggetto RegistryKey che Get-Item restituisce al parametro LiteralPath di New-ItemProperty. Per altre informazioni, vedere about_Pipelines.

Esempio 3: Create un valore MultiString nel Registro di sistema usando un Here-String

In questo esempio viene creato un valore MultiString usando un oggetto Here-String.

$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'HereString' -PropertyType MultiString -Value @"
This is text which contains newlines
It can also contain "quoted" strings
"@
$newValue.multistring

This is text which contains newlines
It can also contain "quoted" strings

Esempio 4: Create un valore MultiString nel Registro di sistema usando una matrice

Nell'esempio viene illustrato come usare una matrice di valori per creare il MultiString valore.

$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'MultiString' -PropertyType MultiString -Value ('a','b','c')
$newValue.multistring[0]

a

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 richiesta 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, come matrice di stringhe, una proprietà o una proprietà che questo cmdlet esclude dall'operazione. 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:True

-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 rispetto ad altri parametri, perché il provider li applica quando il cmdlet ottiene gli oggetti anziché filtrare gli oggetti 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 creare una proprietà in un oggetto a cui non è possibile accedere in altro modo 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, 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 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:True

-LiteralPath

Specifica il percorso della posizione corrente della proprietà. 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 alcun carattere 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 un nome per la nuova proprietà. Se la proprietà è una voce del Registro di sistema, questo parametro specifica il nome della voce.

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Specifica il percorso dell'elemento. Questo parametro identifica l'elemento a cui questo cmdlet aggiunge la nuova proprietà.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PropertyType

Specifica il tipo di proprietà aggiunta da questo cmdlet. I valori validi per questo parametro sono:

  • Stringa: specifica una stringa con terminazione Null. Equivale a REG_SZ.
  • ExpandString: specifica una stringa con terminazione Null che contiene riferimenti non espansi alle variabili di ambiente espanse quando viene recuperato il valore. Equivale a REG_EXPAND_SZ.
  • Binary: specifica i dati binari in qualsiasi formato. Equivale a REG_BINARY.
  • DWord: specifica un numero binario a 32 bit. Equivale a REG_DWORD.
  • MultiString: specifica una matrice di stringhe con terminazione Null con due caratteri Null. Equivale a REG_MULTI_SZ.
  • Qword: specifica un numero binario a 64 bit. Equivale a REG_QWORD.
  • Sconosciuto: indica un tipo di dati del Registro di sistema non supportato, ad esempio REG_RESOURCE_LIST.
Type:String
Aliases:Type
Position:Named
Default value:None
Required:False
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à. Se la proprietà è una voce del Registro di sistema, questo parametro specifica il valore della voce.

Type:Object
Position:Named
Default value:None
Required:False
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

None

Non è possibile inviare input tramite pipe a questo cmdlet.

Output

PSCustomObject

New-ItemProperty restituisce un oggetto personalizzato che contiene la nuova proprietà.

Note

New-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.