簡體   English   中英

New-Object:術語New-Object不被識別為cmdlet的名稱

[英]New-Object : The term New-Object is not recognized as the name of a cmdlet

我想為SharePoint中的app dev配置高可信應用程序,為此,我首先需要在powershell編輯器中插入一些命令,如:

$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時,我得到了這個:

*選擇 :

術語“選擇對象”不被識別為cmdlet,函數,腳本文件或可操作程序的名稱。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然后重試。 在C:\\ Program Files \\ Common Files \\ Microsoft Shared \\ Web Server Extensions \\ 15 \\ CONFIG \\ POWERSHELL \\ Registration \\ SharePoint.ps1:1 char:16 + $ ver = $ host | select version + ~~~~~~ + CategoryInfo:ObjectNotFound:(Select-Object:String)[],逗號ndNotFoundException + FullyQualifiedErrorId:CommandNotFoundException設置位置:術語“設置位置”不被識別為cmdlet的名稱,功能,腳本文件或可操作程序。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然后再次嘗試在C:\\ Program Files \\ Common Files \\ Microsoft Shared \\ Web Server Extensions \\ 15 \\ CONFIG \\ POWERSHELL \\ Registration \\ SharePoint。 ps1:4 char:1 + Set-location $ home + ~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(Set-location:String)[],Comman dNotFoundException + FullyQualifiedErrorId:CommandNotFoundException *

我認為這是正常的,直到今天......它與錯誤有任何關系嗎? 這是洞(新對象)異常堆棧:

New-Object:術語“New-Object”不被識別為cmdlet,函數,腳本文件或可操作程序的名稱。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然后重試。 在行:1 char:16 + $ certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert ... + ~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(New-Object:String)[ ],CommandN otFoundException + FullyQualifiedErrorId:CommandNotFoundException

ps:我想提一下,當我使用enter-psSession並遠程工作時,命令new-object被識別,但sharepoint命令(如Get-SPAuthenticationRealm)不再被識別......

您的PowerShell安裝似乎已損壞,需要進行修復。 New-Object cmdlet由Microsoft.PowerShell.Utility模塊導出,該模塊是Core PowerShell模塊之一,默認情況下應在所有PowerShell安裝中導入。

這可能是因為PSModulesPath的注冊表項條目未預先填充默認的PowerShell模塊路徑。

$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

這里沒有任何驗證,但我推進了Powershell遇到運行時錯誤導致它破壞其進程的假設。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM