Jestem nowy w świecie Powershell. Poniżej znajduje się mój pierwszy skrypt
$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
Po uruchomieniu tego skryptu w PowershellISE pojawia się następujący błąd.
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
Niestety dla mnie wydaje się, że „Nie można znaleźć parametru ...” jest niezwykle częstym i niejednoznacznym błędem, mówiącym, że jest problem, ale nigdy gdzie. Zastanawiałem się, czy ktoś może powiedzieć, dlaczego ten błąd występuje. Och, i jestem na Windows 7, a moja wersja PS to
PS C:\Users\someone> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
Każda pomoc w tym zakresie jest bardzo mile widziana.
źródło
Chciałbym tylko dodać: powinno być:
–MemberType NoteProperty
(spacja pomiędzy).W przeciwnym razie pojawia się ten błąd:
Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'
źródło