Plan B to install PowerCLI

Geplaatst
Reacties Geen

I found a nice article on installing PowerCLI the new way called Welcome PowerCLI to the PowerShell Gallery – Install Process Updates.

Unfortunatly it didn’t work out so well for me. So I had to work myself around a limit which is most likely cause by my malware protection as it locks a file and frustrates the installation.

It sort of looks like this:

PS C:\windows\system32> Find-Module -Name VMware.PowerCLI

Version    Name                                Repository           Description
-------    ----                                ----------           -----------
6.5.2.6... VMware.PowerCLI                     PSGallery            This Windows PowerShell module contains VMware.P...

Well that looked just fine …
But this is where it bugged me:

PS C:\windows\system32> Install-Module -Name VMware.PowerCLI -Scope AllUsers

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PackageManagement\Install-Package : Package 'VMware.VimAutomation.Srm' failed to be installed because: The process
cannot access the file 'C:\Users\hvdk\AppData\Local\Temp\kt5j1kv3\VMware.VimAutomation.Srm.Views.dll' because it is
being used by another process.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1772 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidResult: (VMware.VimAutomation.Srm:String) [Install-Package], Exception
    + FullyQualifiedErrorId : Package '{0}' failed to be installed because: {1},Microsoft.PowerShell.PackageManagement
   .Cmdlets.InstallPackage

Thanks Trend Micro for keeping me safe, and unproductive.

So here is my alternative approach. Create a new PowerShell Module Directory and add it to my PsModulePath. Then save the modules there and we are all good to go.

mkdir $HOME\PowerShell
$PADJE = [Environment]::GetEnvironmentVariable("PsModulePath")
$PADJE += ";$HOME\PowerShell"
[Environment]::SetEnvironmentVariable("PSModulePath",$PADJE)
Save-Module -Name VMware.PowerCLI -Path $HOME\PowerShell

And then you are free to program with PowerCLI as you see fit:

PS C:\Users\hvdk> Import-Module VMware.PowerCLI
          Welcome to VMware PowerCLI!

Log in to a vCenter Server or ESX host:              Connect-VIServer
To find out what commands are available, type:       Get-VICommand
To show searchable help for all PowerCLI commands:   Get-PowerCLIHelp
Once you've connected, display all virtual machines: Get-VM
If you need more help, visit the PowerCLI community: Get-PowerCLICommunity

       Copyright (C) VMware, Inc. All rights reserved.

I really start to like PowerShell by now. It seems to be a best of breed of easy going with objects and have rocket power too.

But let’s make this addition to the path more permanently. So let’s open the my profile with: notepad $PROFILE and inster:

$PADJE = [Environment]::GetEnvironmentVariable("PsModulePath")
$PADJE += ";$HOME\PowerShell"
[Environment]::SetEnvironmentVariable("PSModulePath",$PADJE)

Save the file and check it out by closing Powershell and start a new powershell session:

[Environment]::GetEnvironmentVariable("PsModulePath")

That’s all for now. I hope it might help you out with similar issues in PowerShell.

Medewerker
Categorie ,

Reacties

Er zijn nog geen reacties op dit artikel.

react here

Schrijf je reactie hier. De met een * gemarkeerde velden zijn verplicht. Je ziet eerst een voorbeeld en daarna kun je de reactie definitief plaatsen.





← Ouder Nieuwer →