Set-ItemProperty

Membuat atau mengubah nilai properti item.

Sintaks

Set-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Deskripsi

Set-ItemProperty Cmdlet mengubah nilai properti item yang ditentukan. Anda dapat menggunakan cmdlet untuk membuat atau mengubah properti item. Misalnya, Anda dapat menggunakan Set-ItemProperty untuk mengatur nilai properti IsReadOnly dari objek file ke $True.

Anda juga menggunakan Set-ItemProperty untuk membuat dan mengubah nilai dan data registri. Misalnya, Anda dapat menambahkan entri registri baru ke kunci dan menetapkan atau mengubah nilainya.

Contoh

Contoh 1: Mengatur properti file

Perintah ini menetapkan nilai properti IsReadOnly dari file "final.doc" ke "true". Ini menggunakan Jalur untuk menentukan file, Nama untuk menentukan nama properti, dan parameter Nilai untuk menentukan nilai baru.

File adalah objek System.IO.FileInfo dan IsReadOnly hanyalah salah satu propertinya. Untuk melihat semua properti, ketik Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

Variabel $true otomatis mewakili nilai "TRUE". Untuk informasi selengkapnya, lihat about_Automatic_Variables.

Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true

Contoh 2: Membuat entri dan nilai registri

Contoh ini menunjukkan cara menggunakan Set-ItemProperty untuk membuat entri registri baru dan untuk menetapkan nilai ke entri. Ini membuat entri "NoOfEmployees" di kunci "ContosoCompany" di HKLM\Software kunci dan menetapkan nilainya ke 823.

Karena entri registri dianggap sebagai properti kunci registri, yang merupakan item, Anda gunakan Set-ItemProperty untuk membuat entri registri, dan untuk menetapkan dan mengubah nilainya.

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824

Perintah pertama membuat entri registri. Ini menggunakan Jalur untuk menentukan jalur HKLM: drive dan Software\MyCompany kunci. Perintah menggunakan Nama untuk menentukan nama entri dan Nilai untuk menentukan nilai.

Perintah kedua menggunakan cmdlet untuk melihat entri registri Get-ItemProperty baru. Jika Anda menggunakan Get-Item cmdlet atau Get-ChildItem , entri tidak muncul karena merupakan properti kunci, bukan item atau item turunan.

Perintah ketiga mengubah nilai entri NoOfEmployees menjadi 824.

Anda juga dapat menggunakan New-ItemProperty cmdlet untuk membuat entri registri dan nilainya lalu menggunakan Set-ItemProperty untuk mengubah nilai.

Untuk informasi selengkapnya tentang HKLM: drive, ketik Get-Help Get-PSDrive. Untuk informasi selengkapnya tentang cara menggunakan PowerShell untuk mengelola registri, ketik Get-Help Registry.

Contoh 3: Mengubah item dengan menggunakan alur

Contoh th menggunakan Get-ChildItem untuk mendapatkan weekly.txt file. Objek file disalurkan ke Set-ItemProperty. Perintah Set-ItemProperty menggunakan parameter Nama dan Nilai untuk menentukan properti dan nilai barunya.

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

Parameter

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Catatan

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Menentukan, sebagai array string, item atau item yang dikecualikan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti *.txt. Karakter kartubebas diizinkan. Parameter Kecualikan hanya berlaku ketika perintah menyertakan konten item, seperti C:\Windows\*, di mana karakter kartubebas C:\Windows menentukan konten direktori.

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

-Filter

Menentukan filter untuk memenuhi syarat parameter Jalur . Penyedia FileSystem adalah satu-satunya penyedia PowerShell yang diinstal yang mendukung penggunaan filter. Anda dapat menemukan sintaks untuk bahasa filter FileSystem dalam about_Wildcards. Filter lebih efisien daripada parameter lain, karena penyedia menerapkannya ketika cmdlet mendapatkan objek daripada memiliki PowerShell memfilter objek setelah diambil.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Force

Memaksa cmdlet untuk mengatur properti pada item yang tidak dapat diakses oleh pengguna. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat about_Providers.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Menentukan, sebagai array string, item atau item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti "*.txt". Karakter kartubebas diizinkan. Parameter Sertakan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*, di mana karakter kartubebas C:\Windows menentukan konten direktori.

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

-InputObject

Menentukan objek yang memiliki properti yang diubah cmdlet ini. Masukkan variabel yang berisi objek atau perintah yang mendapatkan objek .

Type:PSObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menafsirkan karakter apa pun sebagai urutan escape.

Untuk informasi selengkapnya, lihat about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Name

Menentukan nama properti.

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

-PassThru

Mengembalikan objek yang mewakili properti item. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Path

Menentukan jalur item dengan properti yang akan diubah. Karakter kartubebas diizinkan.

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

-Type

Jenis adalah parameter dinamis yang ditambahkan penyedia Registri ke Set-ItemProperty cmdlet . Parameter ini hanya berfungsi di drive registri.

Menentukan tipe properti yang ditambahkan cmdlet ini. Nilai yang dapat diterima untuk parameter ini adalah:

  • String: Menentukan string yang dihentikan null. Digunakan untuk nilai REG_SZ .
  • ExpandString: Menentukan string yang dihentikan null yang berisi referensi yang tidak terlampir ke variabel lingkungan yang diperluas saat nilai diambil. Digunakan untuk nilai REG_EXPAND_SZ .
  • Binary: Menentukan data biner dalam bentuk apa pun. Digunakan untuk nilai REG_BINARY .
  • DWord: Menentukan angka biner 32-bit. Digunakan untuk nilai REG_DWORD .
  • MultiString: Menentukan array string yang dihentikan null yang dihentikan oleh dua karakter null. Digunakan untuk nilai REG_MULTI_SZ .
  • Qword: Menentukan angka biner 64-bit. Digunakan untuk nilai REG_QWORD .
  • Unknown: Menunjukkan jenis data registri yang tidak didukung, seperti nilai REG_RESOURCE_LIST .
Type:RegistryValueKind
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Value

Menentukan nilai properti .

Type:Object
Position:2
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Input

PSObject

Anda dapat menyalurkan objek ke cmdlet ini.

Output

None, System.Management.Automation.PSCustomObject

Cmdlet ini menghasilkan objek PSCustomObject yang mewakili item yang diubah dan nilai properti barunya, jika Anda menentukan parameter PassThru . Jika tidak, cmdlet ini tidak menghasilkan output apa pun.

Catatan

PowerShell menyertakan alias berikut untuk Set-ItemProperty:

  • Semua platform:
    • sp

Set-ItemProperty dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia di sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat about_Providers.