Powershell: Eşleşen bir parametre bulunamıyor


9

Powershell dünyasında yeniyim. Aşağıda benim ilk senaryom

$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

Bu komut dosyasını PowershellISE içinde çalıştırdığımda, aşağıdaki hatayı alıyorum.

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

Ne yazık ki benim için, "Bir parametre bulunamıyor ..." gibi bir sorun var, ama asla nerede olduğunu söyleyen son derece yaygın ve belirsiz bir hatadır. Herkes neden bu hatanın oluştuğunu söyleyebilirdi merak ediyordum. Oh, Windows 7'deyim ve PS Sürümüm

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

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

Bu konuda herhangi bir yardım büyük beğeni topluyor.

Yanıtlar:


11

Yeni Nesne: 'TypeNamePSObject' parametre adıyla eşleşen bir parametre bulunamıyor

Hiç belirsiz değil, hata cmdlet'in –TypeNamePSObjectbilinen bir parametresi olmadığını gösterir New-Object.

$object = New-Object TypeNamePSObject

Bunun yerine şöyle olmalıdır:

$object = New-Object TypeName PSObject

Parametreyi -TypeNameve değeri sınırlayan boşluğa dikkat edin PSObject.

Parametreleri keşfetmek için sekme tamamlamayı kullanabilirsiniz. Konsolda, bir cmdlet adını, bir boşluk yazın -, sonra Tabbilinen parametreler arasında gezinmek için. Shift+ Tabsırayı tersine çevirir.


2
Aynı hatayı yaptı .. sadece bu MS belgesinde aynı hata olduğu için: technet.microsoft.com/en-us/magazine/hh750381.aspx
Flores

0

Sadece eklemek ister misiniz: olmalıdır: –MemberType NoteProperty(arada boşluk).

Aksi takdirde, bu hatayı alırsınız: Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.