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.