Set-Item

Mengubah nilai item menjadi nilai yang ditentukan dalam perintah.

Sintaks

Set-Item
   [-Path] <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   -LiteralPath <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Deskripsi

Set-Item Cmdlet mengubah nilai item, seperti variabel atau kunci registri, ke nilai yang ditentukan dalam perintah.

Contoh

Contoh 1: Membuat alias

Perintah ini membuat alias np untuk Notepad.

Set-Item -Path alias:np -Value "c:\windows\notepad.exe"

Contoh 2: Mengubah nilai variabel lingkungan

Perintah ini mengubah nilai variabel lingkungan UserRole menjadi Administrator.

Set-Item -Path env:UserRole -Value "Administrator"

Contoh 3: Ubah fungsi prompt Anda

Perintah ini mengubah fungsi prompt sehingga menampilkan waktu sebelum jalur.

Set-Item -Path function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}

Contoh 4: Atur opsi untuk fungsi prompt Anda

Perintah ini mengatur opsi AllScope dan ReadOnly untuk fungsi prompt. Perintah ini menggunakan parameter dinamis Opsi dari Set-Item. Parameter Opsi hanya tersedia Set-Item saat Anda menggunakannya dengan penyedia Alias atau Fungsi .

Set-Item -Path function:prompt -Options "AllScope,ReadOnly"

Parameter

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required: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
Required:False
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 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
Required:False
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 memfilter PowerShell objek setelah diambil.

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

-Force

Memaksa cmdlet untuk mengatur item yang tidak dapat diubah, seperti alias atau variabel baca-saja. Cmdlet tidak dapat mengubah alias atau variabel konstanta. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat about_Providers. Bahkan menggunakan parameter Paksa , cmdlet tidak dapat mengambil alih pembatasan keamanan.

Type:SwitchParameter
Position:Named
Default value:False
Required: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
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-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 menginterpretasikan karakter apa pun sebagai urutan escape.

Untuk informasi selengkapnya, lihat about_Quoting_Rules.

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

-Options

Ini adalah parameter dinamis yang disediakan oleh penyedia Alias dan Fungsi . Untuk informasi selengkapnya, lihat about_Alias_Provider dan about_Function_Provider.

Menentukan nilai properti Opsi alias.

Nilai yang valid adalah:

  • None: Alias tidak memiliki batasan (nilai default)
  • ReadOnly: Alias dapat dihapus tetapi tidak dapat diubah tanpa menggunakan parameter Paksa
  • Constant: Alias tidak dapat dihapus atau diubah
  • Private: Alias hanya tersedia dalam cakupan saat ini
  • AllScope: Alias disalin ke cakupan baru apa pun yang dibuat
  • Unspecified: Opsi tidak ditentukan
Type:ScopedItemOptions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Meneruskan objek yang mewakili item ke alur. Secara default, cmdlet ini tidak menghasilkan output apa pun.

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

-Path

Menentukan jalur lokasi item. Karakter kartubebas diizinkan.

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

-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 dihentikan null. Digunakan untuk nilai REG_SZ .
  • ExpandString: Menentukan string yang dihentikan null yang berisi referensi yang tidak tersedia 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 null-terminated 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
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Menentukan nilai baru untuk item tersebut.

Type:Object
Position:1
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

Object

Anda dapat menyalurkan objek yang mewakili nilai baru item ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

Object

Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan objek yang mewakili item.

Catatan

PowerShell menyertakan alias berikut untuk Set-Item:

  • Semua platform:

    • si
  • Set-Item tidak didukung oleh penyedia PowerShell FileSystem. Untuk mengubah nilai item dalam sistem file, gunakan Set-Content cmdlet .

  • Di drive Registri, HKLM: dan HKCU:, Set-Item ubah data dalam nilai (Default) kunci registri.

    • Untuk membuat dan mengubah nama kunci registri, gunakan New-Item cmdlet dan Rename-Item .
    • Untuk mengubah nama dan data dalam nilai registri, gunakan New-ItemPropertycmdlet , , Set-ItemPropertydan Rename-ItemProperty .
  • Set-Item 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.