| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Windows/System32/WindowsPowerShell/v1.0/Modules/Carbon/DotNet/ |
Upload File : |
# Copyright 2012 Aaron Jensen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
function Test-DotNet
{
<#
.SYNOPSIS
Tests if .NET is installed.
.DESCRIPTION
Currently, this function only tests if .NET 2 or 4 is installed. Perhaps some friendly people out there will extend it to perform further checks?
.LINK
http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id=318785
.EXAMPLE
Test-DotNet -v2
Demonstrates how to test if .NET 2 is installed.
.EXAMPLE
Test-DotNet -v4 -Full
Demonstrates how to test if the full .NET v4 is installed.
#>
param(
[Parameter(Mandatory=$true,ParameterSetName='v2')]
[Switch]
# Test if .NET 2.0 is installed.
$V2,
[Parameter(Mandatory=$true,ParameterSetName='v4Client')]
[Parameter(Mandatory=$true,ParameterSetName='v4Full')]
[Switch]
# Test if .NET 4.0 is installed.
$V4,
[Parameter(Mandatory=$true,ParameterSetName='v4Client')]
[Switch]
# Test if hte .NET 4 client profile is installed.
$Client,
[Parameter(Mandatory=$true,ParameterSetName='v4Full')]
[Switch]
# Test if the .NET 4 full profile is installed.
$Full
)
Set-StrictMode -Version 'Latest'
$runtimeSetupRegPath = switch( $PSCmdlet.ParameterSetName )
{
'v2' { 'hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727' }
'v4Client' { 'hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client' }
'v4Full' { 'hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' }
default { Write-Error ('Unknown parameter set ''{0}''.' -f $PSCmdlet.ParameterSetName) }
}
if( -not $runtimeSetupRegPath )
{
return
}
if( -not (Test-RegistryKeyValue -Path $runtimeSetupRegPath -Name 'Install') )
{
return $false
}
$value = Get-RegistryKeyValue -Path $runtimeSetupRegPath -Name 'Install'
return ($value -eq 1)
}