New-ItemProperty
建立項目的新屬性,並設定其值。
Syntax
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>]
Description
Cmdlet New-ItemProperty
會為指定的專案建立新的屬性,並設定其值。
一般而言,這個 Cmdlet 是用來建立新的登錄值,因為登錄值是登錄機碼項目的屬性。
這個 Cmdlet 並不會將屬性新增到物件。
- 若要將屬性新增至對象的實例,請使用
Add-Member
Cmdlet。 - 若要將屬性新增至特定類型的所有物件,請修改 Types.ps1xml 檔案。
範例
範例 1:新增登錄專案
此命令會將新的登錄專案 NoOfEmployees
新增至 MyCompany
的 HKLM:\Software hive
機碼。
第一個命令會使用 Path 參數來指定登錄機碼的路徑 MyCompany
。
它會使用 Name 參數來指定項目的名稱,並使用 Value 參數來指定其值。
第二個命令會 Get-ItemProperty
使用 Cmdlet 來查看新的登錄專案。
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
範例 2:將登錄專案新增至機碼
這個命令會將新登錄項目新增到登錄機碼。 若要指定索引鍵,它會使用管線運算子 (|
) 將代表索引鍵的物件傳送至 New-ItemProperty
。
命令的第一個部分會 Get-Item
使用 Cmdlet 來取得 MyCompany
登錄機碼。 管線運算符會將命令的結果傳送至 New-ItemProperty
,將新的登錄專案 (NoOfLocations
) 及其值 (3
) 新增至 MyCompany
機碼。
Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3
此命令的運作方式是,PowerShell 的參數係結功能會將傳回的 RegistryKey 物件 Get-Item
路徑與 的 LiteralPath 參數 New-ItemProperty
產生關聯。 如需詳細資訊,請參閱 about_Pipelines。
範例 3:使用 Here-String 在登錄中 Create MultiString 值
此範例會 MultiString
使用 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
範例 4:使用陣列 Create 登錄中的 MultiString 值
此範例示範如何使用值的陣列來建立 MultiString
值。
$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'MultiString' -PropertyType MultiString -Value ('a','b','c')
$newValue.multistring[0]
a
參數
-Confirm
在執行 Cmdlet 前提示您確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定具有執行此動作權限的使用者帳戶。 預設為目前使用者。
輸入使用者名稱,例如 User01
或 Domain01\User01
,或輸入 PSCredential 物件,例如 Cmdlet 所產生的 Get-Credential
用戶名稱。 若您輸入使用者名稱時,會提示您輸入密碼。
注意
任何與 PowerShell 一起安裝的提供者都不支援此參數。 若要在執行此 Cmdlet 時模擬其他使用者,或提高您的認證,請使用 Invoke-Command。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
指定此 Cmdlet 在作業中排除的專案或專案,做為字串陣列。 此參數的值會限定 Path 參數。 輸入路徑元素或模式,例如 *.txt
。 允許使用萬用字元。 Exclude 參數只有在命令包含項目的內容時有效,例如 C:\Windows\*
,其中通配符會指定目錄的內容C:\Windows
。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
指定篩選條件以限定 Path 參數。 FileSystem 提供者是唯一支援使用篩選器的已安裝 PowerShell 提供者。 您可以在 about_Wildcards 中找到 FileSystem 篩選語言的語法。 篩選比其他參數更有效率,因為提供者會在 Cmdlet 取得物件時套用它們,而不是在擷取對象之後讓 PowerShell 篩選物件。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
強制 Cmdlet 在用戶無法存取的物件上建立屬性。 實作會依提供者而異。 如需詳細資訊,請參閱 about_Providers。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
以字串陣列指定此 Cmdlet 在作業中納入的項目。 此參數的值會限定 Path 參數。 輸入路徑元素或模式,例如 *.txt
。 允許使用萬用字元。 Include 參數只有在命令包含項目的內容時有效,例如 C:\Windows\*
,其中通配符會指定目錄的內容C:\Windows
。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
指定一個或多個位置的路徑。 LiteralPath 的值會與類型完全相同使用。 沒有字元會被視為萬用字元。 如果路徑包含逸出字元,請將它括在單引號 ('
) 。 單引號會指示PowerShell不要將任何字元解譯為逸出序列。
如需詳細資訊,請參閱 about_Quoting_Rules。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
指定新屬性的名稱。 如果屬性是登錄項目,這個參數便會指定該項目的名稱。
Type: | String |
Aliases: | PSProperty |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定項目的路徑。 允許使用萬用字元。 此參數會識別這個 Cmdlet 加入新屬性的專案。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-PropertyType
指定這個 Cmdlet 新增的屬性類型。 此參數可接受的值為:
String
:指定以 Null 結尾的字串。 用於 REG_SZ 值。ExpandString
:指定 Null 終止的字串,其中包含擷取值時展開之環境變數的未展開參考。 用於 REG_EXPAND_SZ 值。Binary
:以任何形式指定二進位數據。 用於 REG_BINARY 值。DWord
:指定32位二進位數。 用於 REG_DWORD 值。MultiString
:指定以兩個 Null 字元結尾的 Null 終止字串陣列。 用於 REG_MULTI_SZ 值。Qword
:指定 64 位二進位數。 用於 REG_QWORD 值。Unknown
:表示不支援的登錄數據類型,例如 REG_RESOURCE_LIST 值。
Type: | String |
Aliases: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
指定屬性值。 如果屬性是登錄項目,這個參數便會指定該項目的值。
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
None
您無法使用管線傳送輸入至此 Cmdlet。
輸出
New-ItemProperty
會傳回包含新屬性的自定義物件。
備註
New-ItemProperty
是設計來使用任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider
。 如需詳細資訊,請參閱 about_Providers。