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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.