Forum Discussion
iControlSnapIn Problems
- Apr 26, 2017
Thanks to DeniceJ for necromancing this thread, I would have forgotten about it if I didn't get the alert
Here's the code I've been using for the last few years to register the iControlSnapIn.dll and add the snap-in to the current session
$PSScriptRoot = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition $snapinPath = "$PSScriptRoot\f5-icontrol-powershell-snapin-12_1_0\iControlSnapIn.dll" $snapinName = "iControlSnapIn" if (Get-PSSnapIn -name $snapinName -ErrorAction Ignore) { Write-Output "Verified that '$snapinName' snap-in is currently registered to this session" } else { Write-Output "The '$snapinName' snap-in is not currently registered to this session, installing assembly for this snap-in from the following path now:`n$snapinPath" $installUtil = "$env:windir\Microsoft.Net\Framework${platform}\v2.0.50727\installUtil.exe"; if ( [System.IO.File]::Exists($installUtil) ) { Set-Alias installUtil $installUtil; installUtil $snapinPath /LogToConsole=false /LogFile=; } Write-Output "The '$snapinName' snap-in assembly has been registered, adding snap-in to this session now..." Add-PSSnapIn $snapinName Add F5 iControl Library Write-Output "The '$snapinName' snap-in has been added to this session, continuing...`n" }
Note that I store the f5-icontrol-powershell-snapin-12_1_0 folder which contains the iControlSnapIn.dll in my script directory, as the script needs to run from different machines that may not have any F5 software installed.
Hi chaps, try including this function and running it before connecting to your load balancer:
function Add-F5Snapin
{
$PreviousLocation = Get-Location
if(Test-Path -Path 'C:\Program files (x86)\F5 Networks\iControlSnapin\setupSnapin.ps1')
{
Set-Location 'C:\Program files (x86)\F5 Networks\iControlSnapin\'
}
elseif(Test-Path -Path 'C:\Program files\F5 Networks\iControlSnapin\setupSnapin.ps1')
{
Set-Location 'C:\Program files\F5 Networks\iControlSnapin\'
}
else
{
throw 'You do not have the iControl Snapin installed.'
}
.\setupSnapin.ps1 -force
Set-Location $PreviousLocation
if((Get-PSSnapin -Name 'iControlSnapIn' -ErrorAction SilentlyContinue) -eq $null)
{
Add-PsSnapin 'iControlSnapIn'
}
}
@Joe: Please could you start a GitHub repository so the community can contribute and create a modern PowerShell module?
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com