windows – Powershell:找不到匹配的参数

我是Power shell世界的新手.下面是我的第一个脚本
$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

当我在PowershellISE中运行此脚本时,出现以下错误.

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

对我来说不幸的是,似乎“无法找到一个参数……”是一个非常常见和含糊不清的错误,说有一个问题,但从来没有问题.我想知道是否有人能说出为什么会出现这个错误.哦,我在Windows 7和我的PS版本

PS C:\Users\someone> $PsversionTable.Psversion

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

非常感谢任何帮助.

New-Object : A parameter cannot be found that matches parameter name ‘TypeNamePSObject’

它根本不含糊,错误表明-TypeNamePSObject不是New-Object cmdlet的已知参数.

$object = New-Object –TypeNamePSObject

应该是:

$object = New-Object –TypeName PSObject

请注意区分参数-TypeName和值PSObject的空间.

您可以使用制表符完成来发现参数.在控制台中,键入cmdlet的名称,空格,– 然后选择Tab以循环显示已知参数. Shift选项卡将颠倒顺序.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...