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_SZExpandString: ระบุสตริงที่สิ้นสุดด้วยค่า null ที่ประกอบด้วยการอ้างอิงที่ยังไม่ได้ขยายไปยังตัวแปรสภาพแวดล้อมที่จะขยายเมื่อมีการเรียกค่า ใช้สำหรับค่า REG_EXPAND_SZไบนารี: ระบุข้อมูลไบนารีในรูปแบบใดก็ได้ ใช้สำหรับค่า REG_BINARYDWord: ระบุเลขฐานสอง 32 บิต ใช้สำหรับค่า REG_DWORDMultiString: ระบุอาร์เรย์ของสตริงที่สิ้นสุดด้วยค่า null ที่สิ้นสุดด้วยอักขระ null สองตัว ใช้สำหรับค่า REG_MULTI_SZQword: ระบุเลขฐานสอง 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
New-ItemProperty, Set-ItemProperty และ Rename-ItemPropertySet-Item ได้รับการออกแบบมาเพื่อทำงานกับข้อมูลที่เปิดเผยโดยผู้ให้บริการรายใดก็ตาม หากต้องการแสดงรายการผู้ให้บริการที่มีอยู่ในเซสชันของคุณ ให้พิมพ์ Get-PsProvider สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Providers