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]
[<CommonParameters>]
New-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-PropertyType <String>]
[-Value <Object>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il New-ItemProperty
cmdlet crea una nuova proprietà per un elemento specificato e imposta il relativo 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 tipo specifico, 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 MyCompany
chiave di HKLM:\Software hive
.
Il primo comando usa il parametro Path per specificare il percorso della chiave del MyCompany
Registro di sistema.
Usa il parametro Name per specificare un nome per la voce e il parametro Value per specificare il relativo 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 MyCompany
chiave del Registro di sistema. L'operatore della pipeline invia i risultati del comando a New-ItemProperty
, che aggiunge la nuova voce del Registro di sistema () e il MyCompany
relativo valore (NoOfLocations
3
), alla chiave.
Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3
Questo comando funziona perché la funzionalità di associazione dei parametri di PowerShell associa il percorso dell'oggetto RegistryKey che Get-Item
restituisce con il 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 MultiString
valore 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 o Domain01\User01
o immettere un oggetto PSCredential, ad esempio User01
uno generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesto di specificare una password.
Nota
Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali durante l'esecuzione di questo cmdlet, usare Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Specifica, come matrice di stringhe, un elemento o un elemento che questo cmdlet esclude nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello del percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Exclude è efficace solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Specifica un filtro per qualificare il parametro Path . Il provider 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 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 creare una proprietà in un oggetto a cui non è possibile accedere in caso contrario 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 un elemento che questo cmdlet include nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello del percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Include è efficace solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Specifica un percorso di una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene 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.
Per altre informazioni, vedere about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
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. I caratteri jolly sono consentiti. 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: | True |
-PropertyType
Questo è un parametro dinamico reso disponibile dal provider del Registro di sistema . Il provider del Registro di sistema e questo parametro sono disponibili solo in Windows.
Specifica il tipo di proprietà aggiunto da questo cmdlet. I valori validi per questo parametro sono:
String
: specifica una stringa con terminazione null. Usato per i valori REG_SZ .ExpandString
: specifica una stringa con terminazione null che contiene riferimenti non crittografati alle variabili di ambiente espanse quando viene recuperato il valore. Usato per i valori REG_EXPAND_SZ .Binary
: specifica i dati binari in qualsiasi formato. Usato per i valori REG_BINARY .DWord
: specifica un numero binario a 32 bit. Usato per i valori REG_DWORD .MultiString
: specifica una matrice di stringhe con terminazione null con due caratteri Null. Usato per i valori REG_MULTI_SZ .Qword
: specifica un numero binario a 64 bit. Usato per i valori REG_QWORD .Unknown
: indica un tipo di dati del Registro di sistema non supportato, ad esempio i valori REG_RESOURCE_LIST .
Type: | RegistryValueKind |
Aliases: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
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 eseguire la pipe degli oggetti a questo cmdlet.
Output
Questo cmdlet restituisce un oggetto personalizzato che rappresenta 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.