public/Test-OsPlatform.ps1

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
36
37
38
39
40
41
42


Function Test-OsPlatform() {
    Param(
        [Parameter(Position = 0)]
        [ValidateSet("Windows", "Unix", "Linux", "Mac", "Win32NT", "Win32Windows", "Win32S", "WinCE", "Xbox", "MacOSX")]
        [String[]] $Type
    )

    PROCESS {
        if(!$Type) {
            $Type = @("Windows")
        }

        $r = Get-OsPlatform
        
        foreach($t in $Type)
        {
            if($Type -eq "Windows") {
                if($r.StartsWith("Win")) {
                    return $true;
                }
            }
            if($type -eq "Linux") {
                return $r -eq "Unix";
            }
    
            if($Type -eq "Mac") {
                if($r.StartsWith("Mac")) {
                    return $true;
                }
            }
    
            if($r -eq $Type) {
                return $true;
            }
        }

        return $false;
      
    }
}