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.
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.
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'