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.