Powershell: Không thể tìm thấy tham số khớp với


9

Tôi mới đến thế giới Powershell. Dưới đây là kịch bản đầu tiên của tôi

$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

Khi tôi chạy tập lệnh này trong PowershellISE, tôi gặp lỗi sau.

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

Thật không may cho tôi, có vẻ như "Không thể tìm thấy tham số ..." là một lỗi cực kỳ phổ biến và mơ hồ, nói rằng có một vấn đề, nhưng không bao giờ xảy ra. Tôi đã tự hỏi nếu có ai có thể nói tại sao lỗi này xảy ra. Ồ, và tôi đang dùng Windows 7 và Phiên bản PS của tôi là

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

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

Bất kỳ trợ giúp về điều này được đánh giá rất cao.

Câu trả lời:


11

Đối tượng mới: Không thể tìm thấy tham số khớp với tên tham số 'TypeNamePSObject'

Hoàn toàn không mơ hồ, lỗi chỉ ra –TypeNamePSObjectkhông phải là tham số đã biết của New-Objectlệnh ghép ngắn.

$object = New-Object TypeNamePSObject

Nên thay thế:

$object = New-Object TypeName PSObject

Lưu ý không gian phân định tham số -TypeNamevà giá trị PSObject.

Bạn có thể sử dụng hoàn thành tab để khám phá các tham số. Trong bảng điều khiển, nhập tên của lệnh ghép ngắn, khoảng trắng -, sau đó Tabchuyển qua các tham số đã biết. Shift+ Tabsẽ đảo ngược thứ tự.


2
Đã mắc cùng một lỗi .. chỉ vì tài liệu MS này có cùng một lỗi: technet.microsoft.com/en-us/magazine/hh750381.aspx
Flores

0

Chỉ muốn thêm: nên là: –MemberType NoteProperty(khoảng trắng ở giữa).

Nếu không, bạn nhận được lỗi này: Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.