Powershell: Parameter tidak dapat ditemukan yang cocok

9

Saya baru di dunia Powershell. Di bawah ini adalah skrip pertama saya

$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

Ketika saya menjalankan skrip ini di PowershellISE, saya mendapatkan kesalahan berikut.

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

Sayangnya bagi saya, sepertinya "Parameter tidak dapat ditemukan ..." adalah kesalahan yang sangat umum dan ambigu, mengatakan bahwa ada masalah, tetapi tidak pernah ada di mana. Saya bertanya-tanya apakah ada yang tahu mengapa kesalahan ini terjadi. Oh, dan saya di Windows 7 dan Versi PS saya

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

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

Setiap bantuan dalam hal ini sangat kami hargai.

Dynamite Hitam
sumber

Jawaban:

11

Objek-Baru: Parameter tidak dapat ditemukan yang cocok dengan nama parameter 'TypeNamePSObject'

Sama sekali tidak ambigu, kesalahan mengindikasikan –TypeNamePSObjectbukan parameter New-Objectcmdlet yang diketahui .

$object = New-Object TypeNamePSObject

Seharusnya sebaliknya:

$object = New-Object TypeName PSObject

Perhatikan spasi yang membatasi parameter -TypeNamedan nilai PSObject.

Anda dapat menggunakan penyelesaian tab untuk menemukan parameter. Di konsol, ketikkan nama cmdlet, spasi -,, lalu Tabuntuk menelusuri parameter yang diketahui. Shift+ Tabakan membalik urutan.

jscott
sumber
2
Membuat kesalahan yang sama .. hanya karena dokumen MS ini memiliki kesalahan yang sama: technet.microsoft.com/en-us/magazine/hh750381.aspx
Flores
0

Hanya ingin menambahkan: seharusnya: –MemberType NoteProperty(spasi di antaranya).

Jika tidak, Anda mendapatkan kesalahan ini: Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'

element_j
sumber