search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
How to check a specific PowerShell Snapin on server?
Posted in Windows Powershell, Windows Server | No Comment | 2,567 views | 30/01/2012 01:36

Check-PSSnapin allows you to check specific PowerShell Snapin on server.
I’m using this function in SetLinuxVM 3.0 to check SCVMM if it’s available on server.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Check Powershell Snapin
# Author: Yusuf Ozturk
# http://www.yusufozturk.info
 
function Check-PSSnapin
{
param (
    [Parameter(
        Mandatory = $true,
        HelpMessage = 'PowerShell Snapin Name. Example: Microsoft.SystemCenter.VirtualMachineManager')]
    [string]$Name
)
 
	$Success = "1";
	$CheckSnapin = Get-PSSnapin -Name $Name -EA SilentlyContinue
	if (!$CheckSnapin)
	{
		$AddSnapin = Add-PSSnapin -Name $Name -EA SilentlyContinue
		$CheckSnapin = Get-PSSnapin -Name $Name -EA SilentlyContinue
		if (!$CheckSnapin)
		{
			Write-Debug "$Name Snapin is not available."
		}
		else
		{
			Write-Debug "$Name Snapin is added."
			$Success
		}
	}
	else
	{
		Write-Debug "$Name Snapin is already loaded."
		$Success
	}
}

You can check PS Snapin like this:

Check-PSSnapin -Name "Microsoft.SystemCenter.VirtualMachineManager"

Name is mandatory, so you must give a name for that.

If you want to use it in a script, you can check it like this:

1
2
3
4
5
$Test = Check-PSSnapin -Name "Microsoft.SystemCenter.VirtualMachineManager"
if (!$Test)
{
	Write-Warning "PS Snapin is not available."
}

If checking is successful then you see “1″ as output.



Leave a Reply