Powershell: impossible de trouver un paramètre correspondant à

9

Je suis nouveau dans le monde Powershell. Voici mon premier script

$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

Lorsque j'exécute ce script dans PowershellISE, j'obtiens l'erreur suivante.

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

Malheureusement pour moi, il semble que "Un paramètre est introuvable ..." est une erreur extrêmement courante et ambiguë, disant qu'il y a un problème, mais jamais où. Je me demandais si quelqu'un pouvait dire pourquoi cette erreur se produit. Oh, et je suis sur Windows 7 et ma version PS est

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

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

Toute aide à ce sujet est grandement appréciée.

Dynamite noire
la source

Réponses:

11

Nouvel objet: aucun paramètre correspondant au nom de paramètre «TypeNamePSObject» ne peut être trouvé.

Ce n'est pas ambigu du tout, l'erreur indique qu'il –TypeNamePSObjectne s'agit pas d'un paramètre connu de l' New-Objectapplet de commande.

$object = New-Object TypeNamePSObject

Devrait être à la place:

$object = New-Object TypeName PSObject

Notez l'espace délimitant le paramètre -TypeNameet la valeur PSObject.

Vous pouvez utiliser la complétion d'onglets pour découvrir les paramètres. Dans la console, tapez le nom d'une applet de commande, un espace -, puis Tabpour parcourir les paramètres connus. Shift+ Tabinversera l'ordre.

jscott
la source
2
Fait la même erreur .. juste parce que ce document MS a la même erreur: technet.microsoft.com/en-us/magazine/hh750381.aspx
Flores
0

Je voudrais juste ajouter: il devrait être: –MemberType NoteProperty(espace entre les deux).

Sinon, vous obtenez cette erreur: Add-Member : A parameter cannot be found that matches parameter name 'MemberTypeNoteProperty'

element_j
la source