我希望为SharePoint应用程序开发配置“高信任应用程序”,为此,我需要首先在PowerShell编辑器中插入一些命令,例如:
我正在使用Windows Server 2012 R2上的Windows PowerShell,其中包括Windows PowerShell 4,默认情况下包含新的对象 cmd-let。但是我不明白,为什么我的操作系统无法识别该命令...我始终遇到以下错误:New-Object:未将“New-Object”识别为cmdlet名称。
当我打开PowerShell时,会出现以下内容:
*select : “The term 'Select-Object' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."
我以为这是正常的,直到今天...它与错误有任何关系吗?下面是整个(new-object)异常堆栈:
"New-Object:未将“New-Object”识别为cmdlet名称、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包括路径,请验证路径是否正确,然后重试。 在第1行字符16处: +$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert ... +~~~~~~~~~~ + CategoryInfo: ObjectNotFound:(New-Object:String) [],CommandNo tFoundException + FullyQualifiedErrorId: CommandNotFoundException" ps:我想提到,当我使用enter-psSession并远程工作时,new-object命令被识别,但是SharePoint命令(例如Get-SPAuthenticationRealm)不再被识别...似乎存在与操作系统相关的问题。
$publicCertPath = "C:\Certs\HighTrustSampleCert.cer"
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)
我正在使用Windows Server 2012 R2上的Windows PowerShell,其中包括Windows PowerShell 4,默认情况下包含新的对象 cmd-let。但是我不明白,为什么我的操作系统无法识别该命令...我始终遇到以下错误:New-Object:未将“New-Object”识别为cmdlet名称。
当我打开PowerShell时,会出现以下内容:
*select : “The term 'Select-Object' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."
我以为这是正常的,直到今天...它与错误有任何关系吗?下面是整个(new-object)异常堆栈:
"New-Object:未将“New-Object”识别为cmdlet名称、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包括路径,请验证路径是否正确,然后重试。 在第1行字符16处: +$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert ... +~~~~~~~~~~ + CategoryInfo: ObjectNotFound:(New-Object:String) [],CommandNo tFoundException + FullyQualifiedErrorId: CommandNotFoundException" ps:我想提到,当我使用enter-psSession并远程工作时,new-object命令被识别,但是SharePoint命令(例如Get-SPAuthenticationRealm)不再被识别...似乎存在与操作系统相关的问题。
New-Object
命令自 PowerShell 1.0 版本起可用。它也被Microsoft.PowerShell.Utility
模块导出,因此如果您的 PowerShell 会话中没有加载该模块,可能会触发类似的错误。请问Get-Module
的结果列表中是否包含此模块? - PeterKNew-Object
)仅在加载实现它们的模块时才可用。特别是,New-Object
由Microsoft.PowerShell.Utility
模块提供。您可以通过运行Get-Module
cmdlet来验证此模块是否已在会话中加载。这将为您提供已加载模块的列表,其中应包括Microsoft.PowerShell.Utility
。这应该确认您是否完全具备New-Object
。 - PeterKGet-Module -ListAvailable
命令以获取可加载的 PowerShell 模块列表。其中应该包括Microsoft.PowerShell.Utility
。如果它在列表中,您可以直接运行Import-Module Microsoft.PowerShell.Utility
来加载它。顺便说一下,这个模块是 PowerShell 的核心模块之一,所以默认会话应该包含它们。如果这只是一个普通的 PowerShell 会话,您可能需要尝试修复您的 PowerShell 安装。 - PeterK