-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGlobals.ps1
136 lines (124 loc) · 2.97 KB
/
Globals.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#--------------------------------------------
# Declare Global Variables and Functions here
#--------------------------------------------
#Sample function that provides the location of the script
function Get-ScriptDirectory
{
<#
.SYNOPSIS
Get-ScriptDirectory returns the proper location of the script.
.OUTPUTS
System.String
.NOTES
Returns the correct path within a packaged executable.
#>
[OutputType([string])]
param ()
if ($null -ne $hostinvocation)
{
Split-Path $hostinvocation.MyCommand.path
}
else
{
Split-Path $script:MyInvocation.MyCommand.Path
}
}
#Sample variable that provides the location of the script
[string]$ScriptDirectory = Get-ScriptDirectory
function Validate-IsIPEmptyTrim ([string]$field)
{
#Check its a valid IP address and doesnt contain white spaces, null and empty are ok.
#dont forget this is reversed on check condition though. i.e. True is false and false is true!!
if (($field -eq $null) -or ($field -eq ""))
{
return $true
}
elseif ([string]::IsNullOrWhiteSpace($field))
{
return $false
}
else
{
return $field -match "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
}
}
function Validate-IsIPEmptyWhitespace ([string]$field)
{
#Check its a valid IP address and doesnt contain white spaces, null or is empty.
#dont forget this is reversed on check condition though. i.e. True is false and false is true!!
if (($field -eq $null) -or ([string]::IsNullOrWhiteSpace($field)))
{
return $false
}
else
{
return $field -match "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\." +`
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
}
}
function Validate-VlanId ([string]$field)
{
if (($field -eq $null) -or ($field -eq ""))
{
return $true
}
elseif ([string]::IsNullOrWhiteSpace($field))
{
return $false
}
else
{
return $field -match '^[1-9]$|^[1-9][0-9]$|^[1-9][0-9][0-9]$|^[1-3][0-9][0-9][0-9]$|^4[0-9][0-9][0-4]$'
}
}
function Validate-VlanPriority ([string]$field)
{
if (($field -eq $null) -or ($field -eq ""))
{
return $true
}
elseif ([string]::IsNullOrWhiteSpace($field))
{
return $false
}
else
{
return $field -match '^[1-7]$'
}
}
function Validate-VlanDiffserv ([string]$field)
{
if (($field -eq $null) -or ($field -eq ""))
{
return $true
}
elseif ([string]::IsNullOrWhiteSpace($field))
{
return $false
}
else
{
return $field -match '^[0-9]$|^[1-5][0-9]$|^6[0-3]$'
}
}
function Validate-FinalFields($VlanId, $VlanDefaultPriority)
{
if (($VlanId) -and !($VlanDefaultPriority))
{
return $false
}
Else
{
return $true
}
}
function Check-AdminPrivileges
{
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
return $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
}