ค้นหาเว็บไซต์

Set-Item (Microsoft.PowerShell.Management)


Set-Item

โมดูล :
Microsoft.PowerShell.Management

เปลี่ยนค่าของรายการเป็นค่าที่ระบุในคำสั่ง

ไวยากรณ์

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>]

คำอธิบาย

cmdlet Set-Item จะเปลี่ยนค่าของรายการ เช่น ตัวแปรหรือคีย์รีจิสทรี เป็นค่าที่ระบุในคำสั่ง

ตัวอย่าง

ตัวอย่างที่ 1: สร้างนามแฝง

คำสั่งนี้สร้างนามแฝงของ np สำหรับ Notepad

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

ตัวอย่างที่ 2: เปลี่ยนค่าของตัวแปรสภาพแวดล้อม

คำสั่งนี้เปลี่ยนค่าของตัวแปรสภาพแวดล้อม UserRole เป็นผู้ดูแลระบบ

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

ตัวอย่างที่ 3: ปรับเปลี่ยนฟังก์ชันพร้อมท์ของคุณ

คำสั่งนี้เปลี่ยนฟังก์ชันพร้อมท์เพื่อให้แสดงเวลาก่อนเส้นทาง

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

ตัวอย่างที่ 4: ตั้งค่าตัวเลือกสำหรับฟังก์ชันพร้อมท์ของคุณ

คำสั่งนี้ตั้งค่าตัวเลือก AllScope และ ReadOnly สำหรับฟังก์ชันพร้อมต์ คำสั่งนี้ใช้พารามิเตอร์ไดนามิก ตัวเลือก ของ Set-Item พารามิเตอร์ ตัวเลือก มีอยู่ใน Set-Item เฉพาะเมื่อคุณใช้กับผู้ให้บริการ Alias หรือ Function

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

พารามิเตอร์

-Confirm

แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet

พิมพ์ :

SwitchParameter

นามแฝง :

cf

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Credential

บันทึก

ผู้ให้บริการใดๆ ที่ติดตั้ง PowerShell ไม่รองรับพารามิเตอร์นี้ หากต้องการปลอมตัวเป็นผู้ใช้รายอื่น หรือยกระดับข้อมูลประจำตัวของคุณเมื่อเรียกใช้ cmdlet นี้ ให้ใช้ Inrigg-Command

พิมพ์ :

PSCredential

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

ผู้ใช้ปัจจุบัน

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-Exclude

ระบุเป็นอาร์เรย์สตริง รายการหรือรายการที่ cmdlet นี้ไม่รวมในการดำเนินการ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ เส้นทาง ป้อนองค์ประกอบเส้นทางหรือรูปแบบ เช่น *.txt อนุญาตให้ใช้อักขระตัวแทนได้ พารามิเตอร์ ยกเว้น จะมีผลเฉพาะเมื่อคำสั่งรวมเนื้อหาของรายการ เช่น C:\Windows\* โดยที่อักขระตัวแทนระบุเนื้อหาของ ไดเรกทอรี C:\Windows

พิมพ์ :

String[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

-Filter

ระบุตัวกรองเพื่อรับรองพารามิเตอร์ เส้นทาง ผู้ให้บริการ FileSystem เป็นผู้ให้บริการ PowerShell ที่ติดตั้งเพียงรายเดียวที่รองรับการใช้ตัวกรอง คุณสามารถค้นหาไวยากรณ์สำหรับภาษาตัวกรอง FileSystem ได้ใน about_Wildcards ตัวกรองมีประสิทธิภาพมากกว่าพารามิเตอร์อื่นๆ เนื่องจากผู้ให้บริการนำไปใช้เมื่อ cmdlet ได้รับวัตถุแทนที่จะให้ PowerShell กรองวัตถุหลังจากถูกดึงข้อมูล

พิมพ์ :

String

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

-Force

บังคับให้ cmdlet ตั้งค่ารายการที่ไม่สามารถเปลี่ยนแปลงได้ เช่น นามแฝงหรือตัวแปรแบบอ่านอย่างเดียว cmdlet ไม่สามารถเปลี่ยนนามแฝงหรือตัวแปรคงที่ได้ การใช้งานแตกต่างกันไปในแต่ละผู้ให้บริการ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Providers แม้จะใช้พารามิเตอร์ Force cmdlet ก็ไม่สามารถแทนที่ข้อจำกัดด้านความปลอดภัยได้

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Include

ระบุเป็นอาร์เรย์สตริง รายการหรือรายการที่ cmdlet นี้รวมไว้ในการดำเนินการ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ เส้นทาง ป้อนองค์ประกอบเส้นทางหรือรูปแบบ เช่น "*.txt" อนุญาตให้ใช้อักขระตัวแทนได้ พารามิเตอร์ รวม จะมีผลเฉพาะเมื่อคำสั่งรวมเนื้อหาของรายการ เช่น C:\Windows\* โดยที่อักขระตัวแทนระบุเนื้อหาของ ไดเรกทอรี C:\Windows

พิมพ์ :

String[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

-LiteralPath

ระบุเส้นทางไปยังสถานที่ตั้งแต่หนึ่งแห่งขึ้นไป ค่าของ LiteralPath จะถูกใช้ตรงตามที่พิมพ์ทุกประการ ไม่มีอักขระใดที่ถูกตีความว่าเป็นไวด์การ์ด หากเส้นทางมีอักขระเลี่ยง ให้ใส่เครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดเดี่ยวบอกให้ PowerShell ไม่ต้องตีความอักขระใดๆ เป็นลำดับหลีก

สำหรับข้อมูลเพิ่มเติม โปรดดู about_Quoting_Rules

พิมพ์ :

String[]

นามแฝง :

PSPath, LP

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-Options

นี่คือพารามิเตอร์แบบไดนามิกที่ผู้ให้บริการ นามแฝง และ ฟังก์ชัน ใช้งานได้ สำหรับข้อมูลเพิ่มเติม โปรดดู about_Alias_Provider และ about_Function_Provider

ระบุค่าของคุณสมบัติ ตัวเลือก ของนามแฝง

ค่าที่ถูกต้องคือ:

  • ไม่มี: นามแฝงไม่มีข้อจำกัด (ค่าเริ่มต้น)
  • ReadOnly: สามารถลบนามแฝงได้ แต่ไม่สามารถเปลี่ยนแปลงได้โดยไม่ต้องใช้พารามิเตอร์ Force
  • คงที่: ไม่สามารถลบหรือเปลี่ยนแปลงนามแฝงได้
  • ส่วนตัว: นามแฝงใช้ได้เฉพาะในขอบเขตปัจจุบันเท่านั้น
  • AllScope: นามแฝงถูกคัดลอกไปยังขอบเขตใหม่ที่สร้างขึ้น
  • ไม่ระบุ: ไม่ได้ระบุตัวเลือก
พิมพ์ :

ตัวเลือกขอบเขตรายการ

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-PassThru

ส่งผ่านวัตถุที่เป็นตัวแทนของรายการไปยังไปป์ไลน์ ตามค่าเริ่มต้น cmdlet นี้ไม่สร้างผลลัพธ์ใดๆ

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Path

ระบุเส้นทางของตำแหน่งของรายการ อนุญาตให้ใช้อักขระตัวแทนได้

พิมพ์ :

String[]

ตำแหน่ง:

0

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

True

-Type

นี่คือพารามิเตอร์แบบไดนามิกที่ผู้ให้บริการ รีจิสทรี ใช้งานได้ ผู้ให้บริการรีจิสทรีและพารามิเตอร์นี้มีเฉพาะบน Windows เท่านั้น

ระบุชนิดของคุณสมบัติที่ cmdlet นี้เพิ่ม ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:

  • String: ระบุสตริงที่สิ้นสุดด้วยค่า null ใช้สำหรับค่า REG_SZ
  • ExpandString: ระบุสตริงที่สิ้นสุดด้วยค่า null ที่ประกอบด้วยการอ้างอิงที่ยังไม่ได้ขยายไปยังตัวแปรสภาพแวดล้อมที่จะขยายเมื่อมีการเรียกค่า ใช้สำหรับค่า REG_EXPAND_SZ
  • ไบนารี: ระบุข้อมูลไบนารีในรูปแบบใดก็ได้ ใช้สำหรับค่า REG_BINARY
  • DWord: ระบุเลขฐานสอง 32 บิต ใช้สำหรับค่า REG_DWORD
  • MultiString: ระบุอาร์เรย์ของสตริงที่สิ้นสุดด้วยค่า null ที่สิ้นสุดด้วยอักขระ null สองตัว ใช้สำหรับค่า REG_MULTI_SZ
  • Qword: ระบุเลขฐานสอง 64 บิต ใช้สำหรับค่า REG_QWORD
  • ไม่ทราบ: ระบุประเภทข้อมูลรีจิสทรีที่ไม่สนับสนุน เช่น ค่า REG_RESOURCE_LIST
พิมพ์ :

RegistryValueKind

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-Value

ระบุค่าใหม่สำหรับรายการ

พิมพ์ :

วัตถุ

ตำแหน่ง:

1

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-WhatIf

แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน

พิมพ์ :

SwitchParameter

นามแฝง :

wi

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

อินพุต

วัตถุ

คุณสามารถไปป์วัตถุที่แสดงถึงค่าใหม่ของสินค้าไปยัง cmdlet นี้

เอาท์พุต

ไม่มี

ตามค่าเริ่มต้น cmdlet นี้จะส่งกลับไม่มีผลลัพธ์

วัตถุ

เมื่อคุณใช้พารามิเตอร์ PassThru cmdlet นี้จะส่งกลับวัตถุที่เป็นตัวแทนของสินค้า

หมายเหตุ

PowerShell มีนามแฝงต่อไปนี้สำหรับ Set-Item:

  • ทุกแพลตฟอร์ม:

      si
  • Set-Item ไม่ได้รับการสนับสนุนโดยผู้ให้บริการ PowerShell FileSystem หากต้องการเปลี่ยนค่าของรายการในระบบไฟล์ ให้ใช้ Set-Content cmdlet

  • ในไดรฟ์รีจิสทรี HKLM: และ HKCU: Set-Item จะเปลี่ยนข้อมูลในค่า (ค่าเริ่มต้น) ของคีย์รีจิสทรี

    • หากต้องการสร้างและเปลี่ยนชื่อของคีย์รีจิสทรี ให้ใช้ cmdlet New-Item และ Rename-Item
    • หากต้องการเปลี่ยนชื่อและข้อมูลในค่ารีจิสทรี ให้ใช้ cmdlets New-ItemProperty, Set-ItemProperty และ Rename-ItemProperty
  • Set-Item ได้รับการออกแบบมาเพื่อทำงานกับข้อมูลที่เปิดเผยโดยผู้ให้บริการรายใดก็ตาม หากต้องการแสดงรายการผู้ให้บริการที่มีอยู่ในเซสชันของคุณ ให้พิมพ์ Get-PsProvider สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Providers

บทความที่เกี่ยวข้อง