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.

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.


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'

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.