首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新对象:术语New-Object不能被识别为cmdlet的名称

新对象:术语New-Object不能被识别为cmdlet的名称
EN

Stack Overflow用户
提问于 2014-07-04 15:01:01
回答 3查看 15.4K关注 0票数 6

我想在SharePoint中为app dev配置高度受信任的应用程序,为此,我首先需要在powershell编辑器中插入一些命令,如:

代码语言:javascript
复制
$publicCertPath = "C:\Certs\HighTrustSampleCert.cer" 
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)

我在windows 2012 R2上使用Windows PowerShell 4,默认情况下它包括新对象cmd-let.但我不明白为什么我的操作系统不认识这个命令..。我没有停止以下错误: New-Object :术语“New-Object”不被识别为cmdlet的名称。

当我打开powerShell时,我得到了这样的信息:

*选择: 术语“Select”不被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后再试一次。在C:\Program \Common\Microsoft Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint.ps1:1 char:16 + $ver = $host颇具选择版本+~+ CategoryInfo : ObjectNotFound:( select -Object:String) [],Comma ndNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Set-location :术语“Set-location”不被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,则验证路径是否正确,然后重试C:\Program \Common\Microsoft Shared\Web Extensions\15\CONFIG\POWERSHELL\Registration\SharePoint.ps1:4 char:1 +Set- $home ++ CategoryInfo : ObjectNotFound:( Set-location :String) [],逗号dNotFoundException + FullyQualifiedErrorId : CommandNotFoundException*

直到今天我还以为这很正常..。它与错误有任何关系吗?下面是洞(新对象)异常堆栈:

新对象:术语“新对象”不被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后再试一次。一行:1字符:16+ $certificate =新对象$certificate.+~+ CategoryInfo : ObjectNotFound:(新对象:String) [],CommandN otFoundException + FullyQualifiedErrorId : CommandNotFoundException

ps:我想提到,当我使用enter-psSession并远程工作时,命令new-object已被识别,但sharepoint命令(如)不再被识别.好像有一个与操作系统有关的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-07 12:29:13

您的PowerShell安装似乎已损坏,需要修复。New-Object cmdlet由Microsoft.PowerShell.Utility模块导出,该模块是核心PowerShell模块之一,默认情况下应该在所有PowerShell安装上导入。

票数 4
EN

Stack Overflow用户

发布于 2017-01-31 13:44:05

这可能是因为PSModulesPath的注册表项没有预先填充默认的PowerShell模块路径。

代码语言:javascript
复制
$PSModulePath = Get-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -Name "PSModulePath"

$newPSModulePath = $PSModulePath.PSModulePath + ";C:\Windows\System32\WindowsPowerShell\v1.0\Modules"

Set-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -Name "PSModulePath" -value $newPSModulePath
票数 1
EN

Stack Overflow用户

发布于 2016-04-04 14:38:06

这里没有得到验证,但我提出了一个假设,即Powershell遇到了一个运行时错误,导致它破坏了它的进程。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24576990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档