Powershell – New-Object : The term New-Object is not recognized as the name of a cmdlet

powershellsharepoint-2013windows-server-2012

I want to configure high trusted app for app dev in SharePoint, and to do so, i need first to insert some commands in the powershell editor like :

$publicCertPath = "C:\Certs\HighTrustSampleCert.cer" 
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)

I am using windows PowerShell on Windows Server 2012 R2 which includes Windows PowerShell 4 that includes by default the new-object cmd-let… I don't understand though, why doesn't my operating system recognize that command … I don't stop having the following error : New-Object : The term 'New-Object' is not recognized as the name of a cmdlet.

When i open powerShell i get this :

*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. At 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) [], Comma ndNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException Set-location : The term 'Set-location' 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 At 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*

I thought that was normal until today… does it have any relation with the error? And here is the hole (new-object) exception stack:

New-Object : The term 'New-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. At line:1 char:16
+ $certificate = New-Object System.Security.Cryptography.X509Certificates.X509Cert …
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (New-Object:String) [], CommandN otFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

ps: i want to mention that when i used enter-psSession and worked remotely, the command new-object was recognized but sharepoint commands (like Get-SPAuthenticationRealm) were no more recognized … And it's like there is a problem related to the operating system.

Best Answer

It appears that your PowerShell installation is corrupted and needs to be repaired. The New-Object cmdlet is exported by the Microsoft.PowerShell.Utility module, which is one of the Core PowerShell modules and should be imported by default on all PowerShell installations.