Powershell: ไม่พบพารามิเตอร์ที่ตรงกัน


9

ฉันยังใหม่กับโลก Powershell ด้านล่างเป็นสคริปต์แรกของฉัน

$sServer = "Fully.Qualified.Computer.Name"

$os = Get-WmiObject -class Win32_OperatingSystem -computername $sServer
$object = New-Object TypeNamePSObject
$object | Add-Member MemberTypeNoteProperty Name OSBuild Value $os.BuildNumber
$object | Add-Member MemberTypeNoteProperty Name OSVersion Value $os.Version
$object | Add-Member MemberTypeNoteProperty Name BIOSSerial Value $bios.SerialNumber
Write-Output $object

เมื่อฉันเรียกใช้สคริปต์นี้ใน PowershellISE ฉันได้รับข้อผิดพลาดต่อไปนี้

New-Object : A parameter cannot be found that matches parameter name 'TypeNamePSObject'.
At C:\Users\someone\Desktop\SchwansScript.ps1:27 char:22
+ $object = New-Object TypeNamePSObject
+                      ~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [New-Object],ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

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

PS C:\Users\someone> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1

ความช่วยเหลือเกี่ยวกับเรื่องนี้เป็นที่นิยมอย่างมาก

คำตอบ:


11

วัตถุใหม่: ไม่พบพารามิเตอร์ที่ตรงกับชื่อพารามิเตอร์ 'TypeNamePSObject'

มันไม่ได้คลุมเครือเลยข้อผิดพลาดบ่งชี้ว่า–TypeNamePSObjectไม่ใช่พารามิเตอร์ที่รู้จักของNew-Objectcmdlet

$object = New-Object TypeNamePSObject

ควรแทน:

$object = New-Object TypeName PSObject

หมายเหตุพื้นที่ delimiting พารามิเตอร์และความคุ้มค่า-TypeNamePSObject

คุณสามารถใช้ความสมบูรณ์ของแท็บเพื่อค้นหาพารามิเตอร์ ในคอนโซลพิมพ์ชื่อของ cmdlet ช่องว่าง-จากนั้นTabเพื่อวนดูพารามิเตอร์ที่รู้จัก Shift+ Tabจะกลับคำสั่งซื้อ


2
ทำข้อผิดพลาดเดียวกัน .. เพียงเพราะเอกสาร MS นี้มีข้อผิดพลาดเดียวกัน: technet.microsoft.com/en-us/magazine/hh750381.aspx
Flores

0

ต้องการเพิ่ม: มันควรจะ: –MemberType NoteProperty(ช่องว่างระหว่าง)

มิฉะนั้นคุณจะได้รับข้อผิดพลาดนี้: Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.