Bagikan melalui


Set-ItemProperty

Membuat atau mengubah nilai properti item.

Sintaks

propertyValuePathSet (Default) - All providers

Set-ItemProperty
    [-Path] <string[]>
    [-Name] <string>
    [-Value] <Object>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyPSObjectPathSet - All providers

Set-ItemProperty
    [-Path] <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValueLiteralPathSet - All providers

Set-ItemProperty
    [-Name] <string>
    [-Value] <Object>
    -LiteralPath <string[]>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyPSObjectLiteralPathSet - All providers

Set-ItemProperty
    -LiteralPath <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValuePathSet (Default) - Registry provider

Set-ItemProperty
    [-Path] <string[]>
    [-Name] <string>
    [-Value] <Object>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

propertyPSObjectPathSet - Registry provider

Set-ItemProperty
    [-Path] <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

propertyValueLiteralPathSet - Registry provider

Set-ItemProperty
    [-Name] <string>
    [-Value] <Object>
    -LiteralPath <string[]>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

propertyPSObjectLiteralPathSet - Registry provider

Set-ItemProperty
    -LiteralPath <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

Deskripsi

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

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 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 otomatis $true mewakili nilai "TRUE". Untuk informasi selengkapnya, lihat tentang_Variabel_Automatis.

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 kunci HKLM\Software dan menetapkan nilainya ke 823.

Karena entri registri dianggap sebagai properti kunci registri, yang merupakan item, Anda menggunakan 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 drive HKLM: dan kunci Software\MyCompany. Perintah menggunakan Nama untuk menentukan nama entri dan Nilai untuk menentukan nilai.

Perintah kedua menggunakan cmdlet Get-ItemProperty untuk melihat entri registri baru. Jika Anda menggunakan cmdlet Get-Item 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 cmdlet New-ItemProperty untuk membuat entri registri dan nilainya lalu menggunakan Set-ItemProperty untuk mengubah nilai.

Untuk informasi selengkapnya tentang drive HKLM:, 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 file weekly.txt. Objek file disalurkan ke Set-ItemProperty. Perintah menggunakan parameter Nama dan nilai untuk menentukan properti dan nilai barunya.

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

Parameter

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Credential

Nota

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.

Properti parameter

Jenis:PSCredential
Nilai default:Current user
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Exclude

Menentukan item atau item-item yang tidak akan disertakan dalam operasi oleh cmdlet ini, dalam bentuk array string. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti *.txt. Karakter pengganti diizinkan. Parameter Exclude hanya efektif ketika perintah menyertakan konten suatu item, seperti C:\Windows\*, di mana karakter wildcard menentukan konten direktori C:\Windows.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Filter

Menentukan filter untuk mengkualifikasi 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 saat cmdlet mendapatkan objek, bukan PowerShell yang memfilternya setelah objek tersebut diambil.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Force

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

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Include

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

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

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

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

propertyPSObjectPathSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
propertyPSObjectLiteralPathSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-LiteralPath

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

Untuk informasi lebih lanjut, lihat about_Quoting_Rules.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PSPath, LP

Kumpulan parameter

propertyValueLiteralPathSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
propertyPSObjectLiteralPathSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Name

Menentukan nama properti.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PSProperty

Kumpulan parameter

propertyValuePathSet
Position:1
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
propertyValueLiteralPathSet
Position:1
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-PassThru

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

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

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

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

propertyValuePathSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
propertyPSObjectPathSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Type

Ini adalah parameter dinamis yang disediakan oleh penyedia Registri . Penyedia Registri dan parameter ini hanya tersedia di Windows.

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

  • String: Menentukan string yang diakhiri dengan null. Digunakan untuk nilai REG_SZ.
  • ExpandString: Menentukan string yang diakhiri dengan null yang memuat referensi yang tidak diperluas ke variabel lingkungan yang diperluas ketika 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 berisi string yang diakhiri dengan null, yang diakhiri 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.

Properti parameter

Jenis:RegistryValueKind
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Value

Menentukan nilai properti.

Properti parameter

Jenis:Object
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

propertyValuePathSet
Position:2
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
propertyValueLiteralPathSet
Position:2
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

PSObject

Anda dapat menyalurkan objek ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

PSCustomObject

Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan objek PSCustomObject yang mewakili item yang diubah dan nilai properti barunya.

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 dalam sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.