web-dev-qa-db-fra.com

Powershell: impossible de trouver un paramètre correspondant à

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.

9
Black Dynamite

New-Object: aucun paramètre correspondant au nom de paramètre "TypeNamePSObject" ne peut être trouvé.

Ce n'est pas ambigu du tout, l'erreur indique –TypeNamePSObject n'est pas un paramètre connu de New-Object applet de commande.

$object = New-Object –TypeNamePSObject

Devrait être à la place:

$object = New-Object –TypeName PSObject

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

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

11
jscott

Je voudrais juste ajouter: ce 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'

0
element_j