1033 lines
44 KiB
PowerShell
1033 lines
44 KiB
PowerShell
#------------------------------------------------------------------------
|
|
# Source File Information (DO NOT MODIFY)
|
|
# Source ID: b24654a3-c952-4b96-8e01-c56d9800c4a7
|
|
# Source File: FirstForm4-tabs.psf
|
|
#------------------------------------------------------------------------
|
|
#region File Recovery Data (DO NOT MODIFY)
|
|
<#RecoveryData:
|
|
PxYAAB+LCAAAAAAABADNWNtu2kAQfa/Uf7D8TAEbg4kElhJS1KpJgwpN+xat7YFss/ai9ToJ/fqO
|
|
L0QBfCVAIxDyZWbP7JyzMyMGP8DhjyBWl0QSBS8Cyv2hqjc11fr4QVEGN4IuqE/YmDL4TjywxlQE
|
|
csyFZ3ySxA6ay2A+aO1YJb72H3CkIldLGKrTVSDBa/6ivsufgma0QvLbULJeNZTbNBij2Y4+DWUU
|
|
MhkKGPoQSkFYQ5mENqPON1jN+AP4Q9s0Sdfp9rSzjgHt/pmq+BjKUJ3jepqqOPeUuQLt1BH3peAs
|
|
SLaIgU4EX4KQq9ThPJR86hAGl9QDPwoCTXsNResMWmvTMtdr7oJqjRGp1GfEKPhySv+ig6mZDcXo
|
|
GaVOUZZVK95aqe0MnmUUi/B2TT8/InZqd8WJm655F10PWvHbtWk5nTNip7k9OqmXX0aTIk53s3DF
|
|
HSIRW7U0HbnUd3KRl+QIqoLxFBimB9yvvgvPqtWu4hJz3jvrIOdGFQdMcNHylRiakAUcnR4sDUvE
|
|
KTx2xSQZDUXP4iiPpTViJZcJcV3qL1QLM59+K/mlhPW7SJi2e0jrU5Z3WHM0t2v+M4BbGoSETeWK
|
|
wQVxHkaccaFaMxFC9grlKrkiNhz/CLMIJdroFAR2npjGErnkFNyYldwNF5aCqKxnayZPaBlhV/RP
|
|
4tTaemYrKZNPZY8XASlJhEpuiNi4Yy3UU0cEcMGfT1Lig3gHiFZfGZsk62Ytkjewa9KLW9azz3oR
|
|
vdm1bqtDR6kf3RN/Ae5WjHevXm327f2Jvgil5P7RebZjGCTVx3jexHOnj6nv1iJ6A7wW0SY2Ab3+
|
|
Ma5abJJjXC+w+s1gS184ijoPW0m5ix8eSlOnKh43oVyGb1JT1Bkq83uNYVJG/Xp9KJFgEmot7fVM
|
|
HFn0flWpl80gRVUmia5medl98O5GU/3ko2k1l/8ymlabmpOSVGs3e4ynGfVoDZlbit5ZLyvVVmEX
|
|
6xoRhXt0sdwR4pD9q/JkE4ulXmCH7V/5cikpVxu3mzfnQQAeKgGCtW36ZGV5gcMFo/YB1DRovay6
|
|
jZLo9xQYBz8j5YjRn5CnARLkCYvsPljtzrw7N+ea5nbbpEPKsX577CR7GnEBhwd6uU0kP2i9/sPY
|
|
+gcZbzYwPxYAAA==#>
|
|
#endregion
|
|
|
|
|
|
#----------------------------------------------
|
|
#region Application Functions
|
|
#----------------------------------------------
|
|
|
|
#endregion Application Functions
|
|
|
|
#----------------------------------------------
|
|
# Generated Form Function
|
|
#----------------------------------------------
|
|
function Call-FirstForm4-tabs_psf {
|
|
|
|
#----------------------------------------------
|
|
#region Import the Assemblies
|
|
#----------------------------------------------
|
|
[void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
|
|
[void][reflection.assembly]::Load('System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
|
|
[void][reflection.assembly]::Load('System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
|
|
#endregion Import Assemblies
|
|
|
|
#----------------------------------------------
|
|
#region Generated Form Objects
|
|
#----------------------------------------------
|
|
[System.Windows.Forms.Application]::EnableVisualStyles()
|
|
$form1 = New-Object 'System.Windows.Forms.Form'
|
|
$DHCP = New-Object 'System.Windows.Forms.TabControl'
|
|
$tabpage1 = New-Object 'System.Windows.Forms.TabPage'
|
|
$flowlayoutControls1 = New-Object 'System.Windows.Forms.FlowLayoutPanel'
|
|
$labelDHCPServerName = New-Object 'System.Windows.Forms.Label'
|
|
$labelVcenterServerName = New-Object 'System.Windows.Forms.Label'
|
|
$labelVCenterUserName = New-Object 'System.Windows.Forms.Label'
|
|
$labelVCenterPassword = New-Object 'System.Windows.Forms.Label'
|
|
$DHCPserverBox = New-Object 'System.Windows.Forms.TextBox'
|
|
$VCenterServerBox = New-Object 'System.Windows.Forms.TextBox'
|
|
# $VCenterUserName = New-Object 'System.Windows.Forms.TextBox'
|
|
# $VCenterUserPassword = New-Object 'System.Windows.Forms.TextBox'
|
|
# $CheckBoxUseWindowsLogin = New-Object 'System.Windows.Forms.CheckBox'
|
|
$buttonConnect = New-Object 'System.Windows.Forms.Button'
|
|
$buttonVMHostInfo = New-Object 'System.Windows.Forms.Button'
|
|
$ButtonScopeStats = New-Object 'System.Windows.Forms.Button'
|
|
# $ButtonScopes1 = New-Object 'System.Windows.Forms.Button'
|
|
$ButtonTest = New-Object 'System.Windows.Forms.Button'
|
|
$Output = New-Object 'System.Windows.Forms.TextBox'
|
|
$tabpage2 = New-Object 'System.Windows.Forms.TabPage'
|
|
$panel1 = New-Object 'System.Windows.Forms.Panel'
|
|
$Connect = New-Object 'System.Windows.Forms.Button'
|
|
$InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'
|
|
$comboboxScopes = New-Object 'System.Windows.Forms.ComboBox'
|
|
$ButtonSelect = New-Object 'System.Windows.Forms.Button'
|
|
$labelScopeSelected = New-Object 'System.Windows.Forms.Label'
|
|
$labelCurrentScope = New-Object 'System.Windows.Forms.Label'
|
|
$labelConnectedDHCPServer = New-Object 'System.Windows.Forms.Label'
|
|
$labelDHCPServerStatus = New-Object 'System.Windows.Forms.Label'
|
|
$radioDisplay = New-Object 'System.Windows.Forms.RadioButton'
|
|
$radioGridview = New-Object 'System.Windows.Forms.RadioButton'
|
|
$radioCSV = New-Object 'System.Windows.Forms.RadioButton'
|
|
$ButtonAvailableIPAddresses = New-Object 'System.Windows.Forms.Button'
|
|
$ButtonExclusionList = New-Object 'System.Windows.Forms.Button'
|
|
$ButtonReservationList = New-Object 'System.Windows.Forms.Button'
|
|
#endregion Generated Form Objects
|
|
|
|
#----------------------------------------------
|
|
# User Generated Script
|
|
#----------------------------------------------
|
|
|
|
$form1_Load={
|
|
#TODO: Initialize Form Controls here
|
|
#$DefaultCompName = $env:COMPUTERNAME
|
|
#$Output.Text = $DefaultCompName
|
|
$Global:DisplayType = "OnScreen"
|
|
NA-VCconn
|
|
#NA-TestOutput
|
|
}
|
|
####################################################################################################################################
|
|
$flowlayoutControls1_Paint=[System.Windows.Forms.PaintEventHandler]{
|
|
#Event Argument: $_ = [System.Windows.Forms.PaintEventArgs]
|
|
#TODO: Place custom script here
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$Output_TextChanged={
|
|
#TODO: Place custom script here
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$comboboxScopes_SelectedIndexChanged={
|
|
#TODO: Place custom script here
|
|
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$labelCurrentScope_Click={
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$labelConnectedDHCPServer_Click={}
|
|
####################################################################################################################################
|
|
$labelDHCPServerStatus_Click={}
|
|
####################################################################################################################################
|
|
$DHCPserverBox_TextChanged={
|
|
#TODO: Place custom script here
|
|
}
|
|
####################################################################################################################################
|
|
$VCenterServerBox_TextChanged={}
|
|
####################################################################################################################################
|
|
<#
|
|
$VCenterUserName_TextChanged={
|
|
|
|
}
|
|
|
|
$VCenterUserPassword_TextChanged={
|
|
|
|
}
|
|
|
|
$CheckBoxUseWindowsLogin_CheckedChanged={
|
|
|
|
If ($CheckBoxUseWindowsLogin.Checked -eq $true) {
|
|
$Output.Text = "Checkbox Checked"
|
|
}
|
|
}
|
|
#>
|
|
$buttonConnect_Click={
|
|
#TODO: Place custom script here
|
|
If (!$DHCPserverBox.Text) {
|
|
$Output.Text = "###### Please enter DHCP server name in the Box ###### "
|
|
}
|
|
|
|
Else {
|
|
$Output.Text = "**** Locating DHCP Server: $($DHCPserverBox.text.ToUpper()) ****"
|
|
$PingDHCPServer = Test-Connection -ComputerName $DHCPserverBox.text -Count 1 -ErrorAction SilentlyContinue
|
|
If (!$PingDHCPServer) { $Output.Text = "#### DHCP Server: $($DHCPserverBox.text.ToUpper()) is not accessible - Please Check the Name! ####" }
|
|
Else {
|
|
NA-Server-Connection 1 ($DHCPserverBox.text)
|
|
NA-GetScopes
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
####################################################################################################################################
|
|
$ButtonAvailableIPAddresses_Click={
|
|
If ($labelScopeSelected.Text -ne $Global:ScopeValue) {
|
|
If (Get-PSSession) {
|
|
NA-Get-DHCPinfo -Option AvailableIPAddresses -ScopeSend ($labelScopeSelected.Text) -DisplayOption $Global:DisplayType
|
|
}
|
|
Else { $Output.Text = "### Not Connected to DHCP Server - Please enter DHCP server name and Connect ###" }
|
|
}
|
|
}
|
|
####################################################################################################################################
|
|
$ButtonExclusionList_Click={
|
|
|
|
#$Output.Text = $Global:DisplayType
|
|
If ($labelScopeSelected.Text -ne $Global:ScopeValue) {
|
|
If (Get-PSSession) {
|
|
NA-Get-DHCPinfo -Option ExclusionList -ScopeSend ($labelScopeSelected.Text) -DisplayOption $Global:DisplayType
|
|
}
|
|
Else { $Output.Text = "### Not Connected to DHCP Server - Please enter DHCP server name and Connect ###" }
|
|
}
|
|
Else { $Output.Text = "### Scope Not Found! -- Please Select a Scope from the List ###"}
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$ButtonReservationList_Click={
|
|
|
|
If ($labelScopeSelected.Text -ne $Global:ScopeValue) {
|
|
If (Get-PSSession) {
|
|
NA-Get-DHCPinfo -Option ReservationList -ScopeSend ($labelScopeSelected.Text) -DisplayOption $Global:DisplayType
|
|
}
|
|
Else { $Output.Text = "### Not Connected to DHCP Server - Please enter DHCP server name and Connect ###" }
|
|
}
|
|
Else { $Output.Text = "### Scope Not Found! -- Please Select a Scope from the List ###"}
|
|
|
|
}#end Button
|
|
|
|
####################################################################################################################################
|
|
$buttonVMHostInfo_Click={
|
|
|
|
If ( $Global:VCenterConnectionStatus -eq $False) { $Output.Text = "### Please Connect to VCenter Server First ###" }
|
|
|
|
Else {
|
|
$Output.Text = "Geting VM Host Information ...... Please wait!"
|
|
$VMHostInformation = Get-VMHost | select name,build,model,@{Name="MemoryTotalGB";Expression={"{0:N2}" -f $_.memorytotalgb}},@{Name="MemoryUsageGB";Expression={"{0:N2}" -f $_.memoryusageGb}} | FT -AutoSize | Out-String
|
|
$Output.Text = $VMHostInformation
|
|
}
|
|
}
|
|
|
|
|
|
####################################################################################################################################
|
|
$ButtonScopeStats_Click={
|
|
|
|
If (Get-PSSession) {
|
|
|
|
Invoke-Command -Session $Global:Session { $Get_dhcpScopeStats = Get-DhcpServerV4ScopeStatistics }
|
|
$DhcpScopeStats = Invoke-Command -Session $Global:Session { $Get_dhcpScopeStats }
|
|
|
|
If ($radioGridview.Checked) {
|
|
$Output.Text = $DhcpScopeStats | select ScopeID,Free,InUse,@{n="PercentageInUse";e={[Math]::Round($_.PercentageInUse,2)}},Reserved,Pending,SuperScopeName | Out-GridView #ft -AutoSize | Out-String
|
|
}
|
|
Else {
|
|
$Output.Text = $DhcpScopeStats | select ScopeID,Free,InUse,@{n="PercentageInUse";e={[Math]::Round($_.PercentageInUse,2)}},Reserved,Pending,SuperScopeName | ft -AutoSize | Out-String
|
|
}
|
|
}#end If
|
|
|
|
Else {
|
|
$Output.Text = "No Connection to DHCP exists - Cannot proceed!"
|
|
}#end Else
|
|
|
|
}
|
|
####################################################################################################################################
|
|
|
|
$ButtonSelect_Click={
|
|
[Bool]$Yes = $False
|
|
$Global:Scope | % { $IP = $_; $CmboIP = $comboboxScopes.Text; If ($IP -eq $CmboIP) { $Yes = $True } }
|
|
|
|
If ($Yes) {
|
|
$labelScopeSelected.Text = $comboboxScopes.Text
|
|
}
|
|
Else { $Output.Text = "Invalid IP Selection - Try Again!"}
|
|
# NA-GetScopes
|
|
}
|
|
####################################################################################################################################
|
|
|
|
<#
|
|
$ButtonScopes1_Click={
|
|
|
|
$Output.Text = "Hello"
|
|
#NA-GetScopes
|
|
}
|
|
#>
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
$radioDisplay_SelectedIndexChanged={
|
|
$Global:DisplayType = "OnScreen"
|
|
#$Output.Text = $DisplayType
|
|
}
|
|
####################################################################################################################################
|
|
$radioGridview_SelectedIndexChanged={
|
|
$Global:DisplayType = "GridView"
|
|
|
|
#$Output.Text = $DisplayType
|
|
}
|
|
####################################################################################################################################
|
|
$radioCSV_SelectedIndexChanged={
|
|
$Global:DisplayType = "CSV"
|
|
#$Output.Text = $DisplayType
|
|
}
|
|
####################################################################################################################################
|
|
$tabpage2_SelectedIndexChanged={
|
|
#TODO: Place custom script here
|
|
[System.Windows.Forms.MessageBox]::Show("This is Error","Error Window",'OK', 'Error')
|
|
}
|
|
####################################################################################################################################
|
|
$tabpage1_SelectedIndexChanged={
|
|
|
|
}
|
|
####################################################################################################################################
|
|
$Connect_Click={
|
|
#TODO: Place custom script here
|
|
#$Output.Text = $VCenterUserName.Text
|
|
|
|
$Global:VC = $VCenterServerBox.Text
|
|
#$VCuser = $VCenterUserName.Text
|
|
#$VCpwd = $VCenterUserPassword.text
|
|
|
|
NA-AddPSsnapin
|
|
|
|
If (!$VCenterServerBox.text) { $Output.Text = "###### Please Enter VCenter Server Name in the Box ######!!!!"}
|
|
|
|
Else {
|
|
$CheckVCenterConnection = Test-Connection -ComputerName $VCenterServerBox.text -Count 1 -ErrorAction SilentlyContinue
|
|
|
|
If (!$CheckVCenterConnection) { $Output.Text = "VCenter Server: $VC is not accessible. Please Check Server Name!"}
|
|
|
|
Else {
|
|
NA-VCenterConnection -VCenterServer $Global:VC -ConnState Connect
|
|
|
|
}#end Else
|
|
}#end Else
|
|
|
|
|
|
#$Test = Get-VM Catlbi01 | select *
|
|
#$Output.text = $Test | Out-String
|
|
|
|
}#End $Connect_Click
|
|
####################################################################################################################################
|
|
|
|
# --End User Generated Script--
|
|
#----------------------------------------------
|
|
#region Generated Events
|
|
#----------------------------------------------
|
|
|
|
$Form_StateCorrection_Load=
|
|
{
|
|
#Correct the initial state of the form to prevent the .Net maximized form issue
|
|
$form1.WindowState = $InitialFormWindowState
|
|
}
|
|
|
|
$Form_Cleanup_FormClosed=
|
|
{
|
|
#Remove all event handlers from the controls
|
|
try
|
|
{
|
|
$DHCPserverBox.remove_TextChanged($DHCPserverBox_TextChanged)
|
|
$flowlayoutControls1.remove_Paint($flowlayoutControls1_Paint)
|
|
$VCenterServerBox.remove_TextChanged($VCenterServerBox_TextChanged)
|
|
# $VCenterUserName.remove_TextChanged($VCenterUserName_TextChanged)
|
|
# $VCenterUserPassword.remove_TextChanged($VCenterUserPassword_TextChanged)
|
|
# $CheckBoxUseWindowsLogin.remove_TextChanged($CheckBoxUseWindowsLogin_CheckedChanged)
|
|
$buttonConnect.remove_Click($buttonConnect_Click)
|
|
$ButtonAvailableIPAddresses.remove_Click($ButtonAvailableIPAddresses_Click)
|
|
$ButtonExclusionList.remove_Click($ButtonExclusionList_Click)
|
|
$ButtonReservationList.remove_Click($ButtonReservationList_Click)
|
|
$buttonVMHostInfo.remove_Click($buttonVMHostInfo_Click)
|
|
$ButtonScopeStats.remove_Click($ButtonScopeStats_Click)
|
|
$ButtonSelect.remove_Click($ButtonSelect_Click)
|
|
# $ButtonScopes1.remove_Click($ButtonScopes_Click)
|
|
$Output.remove_TextChanged($Output_TextChanged)
|
|
$Connect.remove_Click($Connect_Click)
|
|
$tabpage2.remove_Click($tabpage2_Click)
|
|
$panel1.remove_Paint($panel1_Paint)
|
|
$form1.remove_Load($form1_Load)
|
|
$form1.remove_Load($Form_StateCorrection_Load)
|
|
$form1.remove_FormClosed($Form_Cleanup_FormClosed)
|
|
$comboboxScopes.remove_SelectedIndexChanged($comboboxScopes_SelectedIndexChanged)
|
|
$radioDisplay.remove_CheckedChanged($radioDisplay_SelectedIndexChanged)
|
|
$radioGridview.remove_CheckedChanged($radioGridview_SelectedIndexChanged)
|
|
$radioCSV.remove_CheckedChanged($radioCSV_SelectedIndexChanged)
|
|
#$Output.Text = "Closing Connection to DHCP Server"
|
|
NA-Server-Connection 0
|
|
NA-VCenterConnection -ConnState Disconnect
|
|
NA-ClearGlobalVariables
|
|
#Write-Host "bye bye"
|
|
# Close VCenter connection
|
|
}
|
|
catch [Exception]
|
|
{ }
|
|
}
|
|
|
|
$panel1_Paint=[System.Windows.Forms.PaintEventHandler]{
|
|
#Event Argument: $_ = [System.Windows.Forms.PaintEventArgs]
|
|
#TODO: Place custom script here
|
|
|
|
}
|
|
|
|
|
|
#endregion Generated Events
|
|
|
|
#----------------------------------------------
|
|
#region Generated Form Code
|
|
#----------------------------------------------
|
|
$form1.SuspendLayout()
|
|
$DHCP.SuspendLayout()
|
|
$tabpage1.SuspendLayout()
|
|
$tabpage2.SuspendLayout()
|
|
$flowlayoutControls1.SuspendLayout()
|
|
#
|
|
# form1
|
|
#
|
|
$form1.Controls.Add($DHCP)
|
|
$form1.Controls.Add($Output)
|
|
$form1.Controls.Add($flowlayoutControls1)
|
|
$form1.AutoScaleDimensions = '6, 13'
|
|
$form1.AutoScaleMode = 'Font'
|
|
$form1.ClientSize = '921, 644'
|
|
$form1.Name = 'form1'
|
|
$form1.Text = 'Form'
|
|
$form1.add_Load($form1_Load)
|
|
#
|
|
# DHCP
|
|
#
|
|
$DHCP.Controls.Add($tabpage1)
|
|
$DHCP.Controls.Add($tabpage2)
|
|
$DHCP.Location = '139, 10'
|
|
$DHCP.Name = 'DHCP'
|
|
$DHCP.SelectedIndex = 0
|
|
$DHCP.Size = '754, 237'
|
|
$DHCP.TabIndex = 0
|
|
#
|
|
# tabpage1
|
|
#
|
|
$tabpage1.Controls.Add($labelDHCPServerName)
|
|
$tabpage1.Controls.Add($labelScopeSelected)
|
|
$tabpage1.Controls.Add($labelCurrentScope)
|
|
$tabpage1.Controls.Add($labelConnectedDHCPServer)
|
|
$tabpage1.Controls.Add($labelDHCPServerStatus)
|
|
$tabpage1.Controls.Add($DHCPserverBox)
|
|
$tabpage1.Controls.Add($buttonConnect)
|
|
$tabpage1.Controls.Add($ButtonScopeStats)
|
|
$tabpage1.Controls.Add($ButtonSelect)
|
|
$tabpage1.Controls.Add($comboboxScopes)
|
|
$tabpage1.Controls.Add($radioDisplay)
|
|
$tabpage1.Controls.Add($radioGridview)
|
|
$tabpage1.Controls.Add($radioCSV)
|
|
$tabpage1.Controls.Add($flowlayoutControls1)
|
|
$tabpage1.Controls.Add($ButtonReservationList)
|
|
# $tabpage1.Controls.Add($ButtonScopes1)
|
|
# $tabpage1.Controls.Add($Output)
|
|
$tabpage1.Location = '4, 22'
|
|
$tabpage1.Name = 'tabpage1'
|
|
$tabpage1.Padding = '3, 3, 3, 3'
|
|
$tabpage1.Size = '754, 237'
|
|
$tabpage1.TabIndex = 0
|
|
$tabpage1.Text = 'DHCP'
|
|
$tabpage1.UseVisualStyleBackColor = $True
|
|
#
|
|
# flowlayoutpanel1
|
|
#
|
|
$flowlayoutControls1.Controls.Add($ButtonAvailableIPAddresses)
|
|
$flowlayoutControls1.Controls.Add($ButtonExclusionList)
|
|
$flowlayoutControls1.Controls.Add($ButtonReservationList)
|
|
$flowlayoutControls1.BackColor = 'InactiveCaption'
|
|
$flowlayoutControls1.BorderStyle = 'FixedSingle'
|
|
$flowlayoutControls1.Location = '393, 7'
|
|
$flowlayoutControls1.Name = 'flowlayoutpanel1'
|
|
$flowlayoutControls1.Padding = '4, 4, 4, 4'
|
|
$flowlayoutControls1.Size = '200, 190'
|
|
$flowlayoutControls1.TabIndex = 0
|
|
$flowlayoutControls1.add_Paint($flowlayoutControls1_Paint)
|
|
#
|
|
# labelDHCPServerName
|
|
#
|
|
$labelDHCPServerName.AutoSize = $True
|
|
$labelDHCPServerName.Location = '16, 11'
|
|
$labelDHCPServerName.Name = 'labelDHCPServerName'
|
|
$labelDHCPServerName.Size = '102, 13'
|
|
$labelDHCPServerName.TabIndex = 3
|
|
$labelDHCPServerName.Text = 'DHCP Server Name'
|
|
#
|
|
# labelScopeSelected
|
|
#
|
|
$labelScopeSelected.AutoSize = $True
|
|
$labelScopeSelected.Location = '310, 31'
|
|
$labelScopeSelected.Name = 'ScopeSelected'
|
|
$labelScopeSelected.Size = '102, 13'
|
|
$labelScopeSelected.TabIndex = 12
|
|
#$labelScopeSelected.Text = '----'
|
|
$Global:ScopeValue = "----"
|
|
$labelScopeSelected.Text = $Global:ScopeValue
|
|
#
|
|
# labelCurrentScoope
|
|
#
|
|
$labelCurrentScope.AutoSize = $True
|
|
$labelCurrentScope.Location = '230, 31'
|
|
$labelCurrentScope.Name = 'CurrentScope'
|
|
$labelCurrentScope.Size = '102, 13'
|
|
$labelCurrentScope.TabIndex = 13
|
|
$labelCurrentScope.Text = 'Current Scope:'
|
|
$labelCurrentScope.add_Click($labelCurrentScope_Click)
|
|
#
|
|
# labelConnectedDHCPServer
|
|
#
|
|
$labelConnectedDHCPServer.AutoSize = $True
|
|
$labelConnectedDHCPServer.Location = '230, 11'
|
|
$labelConnectedDHCPServer.Name = 'DHCPServer'
|
|
$labelConnectedDHCPServer.Size = '102, 13'
|
|
$labelConnectedDHCPServer.TabIndex = 13
|
|
$labelConnectedDHCPServer.Text = 'DHCP Server:'
|
|
$labelConnectedDHCPServer.add_Click($labelConnectedDHCPServer_Click)
|
|
#
|
|
# labelDHCPServerStatus
|
|
#
|
|
$labelDHCPServerStatus.AutoSize = $True
|
|
$labelDHCPServerStatus.Location = '310, 11'
|
|
$labelDHCPServerStatus.Name = 'DHCPServerStatus'
|
|
$labelDHCPServerStatus.Size = '102, 13'
|
|
$labelDHCPServerStatus.TabIndex = 14
|
|
$labelDHCPServerStatus.Text = '----'
|
|
$labelDHCPServerStatus.add_Click($labelDHCPServerStatus_Click)
|
|
#
|
|
# DHCPserverBox
|
|
#
|
|
$DHCPserverBox.Location = '20, 30'
|
|
$DHCPserverBox.Name = 'DHCPserverBox'
|
|
$DHCPserverBox.Size = '100, 20'
|
|
$DHCPserverBox.TabIndex = 2
|
|
$DHCPserverBox.add_TextChanged($DHCPserverBox_TextChanged)
|
|
#
|
|
# comboboxScopes
|
|
|
|
|
|
$comboboxScopes.Location = '6, 107'
|
|
#$combobox1.MaxDropDownItems = 20
|
|
$comboboxScopes.Text="----"
|
|
$comboboxScopes.Name = 'combobox1'
|
|
$comboboxScopes.Size = '121, 21'
|
|
$comboboxScopes.TabIndex = 1
|
|
$comboboxScopes.add_SelectedIndexChanged($comboboxScopes_SelectedIndexChanged)
|
|
$comboboxScopes.AllowDrop = $True
|
|
$comboboxScopes.FormattingEnabled = $True
|
|
#
|
|
# $ButtonSelect
|
|
$ButtonSelect.Location = '138, 106'
|
|
$ButtonSelect.Name = 'ButtonSelect'
|
|
$ButtonSelect.Size = '75, 23'
|
|
$ButtonSelect.TabIndex = 13
|
|
$ButtonSelect.Text = 'Select'
|
|
$ButtonSelect.UseVisualStyleBackColor = $True
|
|
$ButtonSelect.add_Click($ButtonSelect_Click)
|
|
#
|
|
# radioDisplay
|
|
#
|
|
$radioDisplay.Location = '6, 135'
|
|
$radioDisplay.Checked = $True
|
|
$radioDisplay.Name = 'Display'
|
|
$radioDisplay.Size = '77, 24'
|
|
$radioDisplay.TabIndex = 14
|
|
$radioDisplay.TabStop = $True
|
|
$radioDisplay.Text = 'OnScreen'
|
|
$radioDisplay.UseVisualStyleBackColor = $True
|
|
$radioDisplay.add_CheckedChanged($radioDisplay_SelectedIndexChanged)
|
|
$form1.ResumeLayout()
|
|
#
|
|
# radioGridview
|
|
#
|
|
$radioGridview.Location = '84, 135'
|
|
$radioGridview.Name = 'Gridview'
|
|
$radioGridview.Size = '77, 24'
|
|
$radioGridview.TabIndex = 15
|
|
$radioGridview.TabStop = $True
|
|
$radioGridview.Text = 'GridView'
|
|
$radioGridview.UseVisualStyleBackColor = $True
|
|
$radioGridview.add_CheckedChanged($radioGridview_SelectedIndexChanged)
|
|
#
|
|
# radioCSV
|
|
#
|
|
$radioCSV.Location = '162, 135'
|
|
$radioCSV.Name = 'CSV'
|
|
$radioCSV.Size = '77, 24'
|
|
$radioCSV.TabIndex = 16
|
|
$radioCSV.TabStop = $True
|
|
$radioCSV.Text = 'CSV'
|
|
$radioCSV.UseVisualStyleBackColor = $True
|
|
$radioCSV.add_CheckedChanged($radioCSV_SelectedIndexChanged)
|
|
#
|
|
# ButtonAvailableIPAddresses
|
|
#
|
|
$ButtonAvailableIPAddresses.Location = '7, 7'
|
|
$ButtonAvailableIPAddresses.Name = 'AvailableIPAddresses'
|
|
$ButtonAvailableIPAddresses.Size = '126, 23'
|
|
$ButtonAvailableIPAddresses.TabIndex = 16
|
|
$ButtonAvailableIPAddresses.Text = "Available IPs"
|
|
$ButtonAvailableIPAddresses.UseVisualStyleBackColor = $True
|
|
$ButtonAvailableIPAddresses.add_Click($ButtonAvailableIPAddresses_Click)
|
|
$flowlayoutControls1.ResumeLayout()
|
|
#
|
|
# ButtonExclusionList
|
|
#
|
|
$ButtonExclusionList.Location = '7, 36'
|
|
$ButtonExclusionList.Name = 'ExclusionList'
|
|
$ButtonExclusionList.Size = '126, 23'
|
|
$ButtonExclusionList.TabIndex = 17
|
|
$ButtonExclusionList.Text = "Exclusion List"
|
|
$ButtonExclusionList.UseVisualStyleBackColor = $True
|
|
$ButtonExclusionList.add_Click($ButtonExclusionList_Click)
|
|
$flowlayoutControls1.ResumeLayout()
|
|
#
|
|
# ButtonReservationList
|
|
$ButtonReservationList.Location = '7, 66'
|
|
$ButtonReservationList.Name = 'Reservations'
|
|
$ButtonReservationList.Size = '126, 23'
|
|
$ButtonReservationList.TabIndex = 18
|
|
$ButtonReservationList.Text = "Reservations"
|
|
$ButtonReservationList.add_Click($ButtonReservationList_Click)
|
|
$ButtonReservationList.UseVisualStyleBackColor = $True
|
|
$flowlayoutControls1.ResumeLayout()
|
|
#
|
|
#
|
|
# VCenterServerBox
|
|
#
|
|
$VCenterServerBox.Location = '8, 26'
|
|
$VCenterServerBox.Name = 'VCenterServerBox'
|
|
$VCenterServerBox.Size = '100, 20'
|
|
$VCenterServerBox.TabIndex = 6
|
|
$VCenterServerBox.add_TextChanged($VCenterServerBox_TextChanged)
|
|
#
|
|
# VCenterUserName
|
|
<#
|
|
$VCenterUserName.Location = '140, 28'
|
|
$VCenterUserName.Name = 'VCenterUserName'
|
|
$VCenterUserName.Size = '132, 20'
|
|
$VCenterUserName.TabIndex = 7
|
|
$VCenterUserName.add_TextChanged($VCenterUserName_TextChanged)
|
|
#>
|
|
# VCenterUserPassword
|
|
<#
|
|
$VCenterUserPassword.Location = '278, 28'
|
|
$VCenterUserPassword.Name = 'VCenterUserPassword'
|
|
$VCenterUserPassword.Size = '132, 20'
|
|
$VCenterUserPassword.TabIndex = 8
|
|
$VCenterUserPassword.add_TextChanged($VCenterUserPassword_TextChanged)
|
|
#>
|
|
# CheckBoxUseWindowsLogin
|
|
<#
|
|
$CheckBoxUseWindowsLogin.Location = '518, 30'
|
|
$CheckBoxUseWindowsLogin.Name = 'CheckBoxUseWindowsLogin'
|
|
$CheckBoxUseWindowsLogin.Size = '123, 17'
|
|
$CheckBoxUseWindowsLogin.TabIndex = 9
|
|
$CheckBoxUseWindowsLogin.Text = 'Use Windows Login'
|
|
$CheckBoxUseWindowsLogin.add_TextChanged($CheckBoxUseWindowsLogin_CheckedChanged)
|
|
#>
|
|
# buttonConnect
|
|
#
|
|
$buttonConnect.Location = '138, 28'
|
|
$buttonConnect.Name = 'buttonConnect'
|
|
$buttonConnect.Size = '75, 23'
|
|
$buttonConnect.TabIndex = 1
|
|
$buttonConnect.Text = 'Connect'
|
|
$buttonConnect.UseVisualStyleBackColor = $True
|
|
$buttonConnect.add_Click($buttonConnect_Click)
|
|
#
|
|
# ButtonScopeStats
|
|
$ButtonScopeStats.Location = '138, 60'
|
|
$ButtonScopeStats.Name = 'ButtonScopeStats'
|
|
$ButtonScopeStats.Size = '75, 23'
|
|
$ButtonScopeStats.TabIndex = 2
|
|
$ButtonScopeStats.Text = 'Scope Stats'
|
|
$ButtonScopeStats.UseVisualStyleBackColor = $True
|
|
$ButtonScopeStats.add_Click($ButtonScopeStats_Click)
|
|
#
|
|
|
|
<# ButtonScopes
|
|
$ButtonScopes1.Location = '138, 92'
|
|
$ButtonScopes1.Name = 'ButtonScopes'
|
|
$ButtonScopes1.Size = '75, 23'
|
|
$ButtonScopes1.TabIndex = 4
|
|
$ButtonScopes1.Text = 'Get-Scopes'
|
|
$ButtonScopes1.UseVisualStyleBackColor = $True
|
|
$ButtonScopes1.add_Click($ButtonScopes1_Click)
|
|
#>
|
|
|
|
|
|
|
|
|
|
# Output
|
|
#
|
|
$Output.Location = '139, 280'
|
|
$Output.Multiline = $True
|
|
$Output.Name = 'Output'
|
|
$Output.ScrollBars = 'Both'
|
|
$Output.Font = 'Consolas, 8.25pt'
|
|
$Output.WordWrap = $False
|
|
$Output.Size = '754, 335'
|
|
$Output.TabIndex = 0
|
|
$Output.add_TextChanged($Output_TextChanged)
|
|
#
|
|
# tabpage2
|
|
#
|
|
$tabpage2.Controls.Add($Connect)
|
|
$tabpage2.Controls.Add($buttonVMHostInfo)
|
|
$tabpage2.Controls.Add($panel1)
|
|
$tabpage2.Controls.Add($labelVcenterServerName)
|
|
$tabpage2.Controls.Add($VCenterServerBox)
|
|
#$tabpage2.Controls.Add($VCenterUserName)
|
|
#$tabpage2.Controls.Add($VCenterUserPassword)
|
|
#$tabpage2.Controls.Add($CheckBoxUseWindowsLogin)
|
|
$tabpage2.Controls.Add($labelVCenterUserName)
|
|
$tabpage2.Controls.Add($labelVCenterPassword)
|
|
|
|
$tabpage2.Location = '4, 22'
|
|
$tabpage2.Name = 'tabpage2'
|
|
$tabpage2.Padding = '3, 3, 3, 3'
|
|
$tabpage2.Size = '754, 237'
|
|
$tabpage2.TabIndex = 1
|
|
$tabpage2.Text = 'VCenter'
|
|
$tabpage2.UseVisualStyleBackColor = $True
|
|
$tabpage2.add_Click($tabpage2_Click)
|
|
#
|
|
# labelDHCPServerName
|
|
#
|
|
$labelVcenterServerName.AutoSize = $True
|
|
$labelVcenterServerName.Location = '8, 6'
|
|
$labelVcenterServerName.Name = 'labelVcenterServerName'
|
|
$labelVcenterServerName.Size = '100, 20'
|
|
$labelVcenterServerName.TabIndex = 3
|
|
$labelVcenterServerName.Text = 'VCenter Server:'
|
|
#
|
|
|
|
#
|
|
<# labelVCenterUserName
|
|
#
|
|
$labelVCenterUserName.AutoSize = $True
|
|
$labelVCenterUserName.Location = '138, 11'
|
|
$labelVCenterUserName.Name = 'labelVCenterUserName'
|
|
$labelVCenterUserName.Size = '99, 13'
|
|
$labelVCenterUserName.TabIndex = 4
|
|
$labelVCenterUserName.Text = 'Domain\Username:'
|
|
#>
|
|
<# labelVCenterPassword
|
|
#
|
|
$labelVCenterPassword.AutoSize = $True
|
|
$labelVCenterPassword.Location = '275, 11'
|
|
$labelVCenterPassword.Name = 'labelVCenterPassword'
|
|
$labelVCenterPassword.Size = '56, 13'
|
|
$labelVCenterPassword.TabIndex = 5
|
|
$labelVCenterPassword.Text = 'Password:'
|
|
#>
|
|
|
|
# Connect
|
|
#
|
|
$Connect.Location = '122, 30'
|
|
$Connect.Name = 'Connect'
|
|
$Connect.Size = '75, 23'
|
|
$Connect.TabIndex = 0
|
|
$Connect.Text = 'Connect'
|
|
$Connect.UseVisualStyleBackColor = $True
|
|
$Connect.add_Click($Connect_Click)
|
|
#
|
|
$tabpage2.ResumeLayout()
|
|
$tabpage1.ResumeLayout()
|
|
$DHCP.ResumeLayout()
|
|
$form1.ResumeLayout()
|
|
#endregion Generated Form Code
|
|
#
|
|
# buttonVMHostInfo
|
|
$buttonVMHostInfo.Location = '188, 81'
|
|
$buttonVMHostInfo.Name = 'VMHost_Info'
|
|
$buttonVMHostInfo.Size = '75, 23'
|
|
$buttonVMHostInfo.TabIndex = 9
|
|
$buttonVMHostInfo.Text = 'VMHost Info'
|
|
$buttonVMHostInfo.add_Click($buttonVMHostInfo_Click)
|
|
|
|
#
|
|
#----------------------------------------------
|
|
|
|
# panel1
|
|
#
|
|
$panel1.Controls.Add($labelVcenterServerName)
|
|
$panel1.Controls.Add($VCenterServerBox)
|
|
$panel1.Controls.Add($VCenterUserName)
|
|
$panel1.Controls.Add($VCenterUserPassword)
|
|
$panel1.Controls.Add($CheckBoxUseWindowsLogin)
|
|
$panel1.Controls.Add($labelVCenterUserName)
|
|
$panel1.Controls.Add($labelVCenterPassword)
|
|
$panel1.BackColor = 'LightSteelBlue'
|
|
$panel1.Location = '6, 6'
|
|
$panel1.Name = 'panel1'
|
|
$panel1.Size = '198, 56'
|
|
$panel1.TabIndex = 0
|
|
$panel1.add_Paint($panel1_Paint)
|
|
$tabpage2.ResumeLayout()
|
|
$tabpage1.ResumeLayout()
|
|
$DHCP.ResumeLayout()
|
|
$form1.ResumeLayout()
|
|
#endregion Generated Form Code
|
|
|
|
#----------------------------------------------
|
|
|
|
#Save the initial state of the form
|
|
$InitialFormWindowState = $form1.WindowState
|
|
#Init the OnLoad event to correct the initial state of the form
|
|
$form1.add_Load($Form_StateCorrection_Load)
|
|
#Clean up the control events
|
|
$form1.add_FormClosed($Form_Cleanup_FormClosed)
|
|
#Show the Form
|
|
return $form1.ShowDialog()
|
|
|
|
} #End Function Call-FirstForm4-tabs_psf
|
|
|
|
####################################################################################################################################
|
|
Function NA-GetScopes {
|
|
|
|
Invoke-Command -Session $Global:Session { $Get_Scope = Get-DhcpServerv4Scope | select -ExpandProperty ScopeID}
|
|
$Global:Scope = Invoke-Command -Session $Global:Session { $Get_Scope }
|
|
|
|
$comboboxScopes.Items.Clear()
|
|
|
|
# $Global:Scope = Get-Process | select -ExpandProperty ProcessName
|
|
|
|
$Global:Scope | % { $comboboxScopes.Items.Add($_) }
|
|
|
|
}
|
|
|
|
####################################################################################################################################
|
|
Function NA-AddPSsnapin {
|
|
|
|
$CheckPsSnapIn = Get-PSSnapin vmw* -ErrorAction SilentlyContinue
|
|
|
|
If (!($CheckPsSnapIn)) {
|
|
|
|
$Output.Text = "Adding PowerCLI Snap-in - Please Wait ...."
|
|
Add-PSSnapin vmw*
|
|
$CheckPsSnapIn = Get-PSSnapin vmw* -ErrorAction SilentlyContinue
|
|
|
|
If ($CheckPsSnapIn) {
|
|
|
|
$Output.Text = "Done!"
|
|
}#end If
|
|
}#end If
|
|
|
|
}
|
|
####################################################################################################################################
|
|
Function NA-VCconn {
|
|
$Global:VCenterConnectionStatus = $False
|
|
#$Output.Text = $Global:VCenterConnectionStatus
|
|
$Output.Text = "Welcome"
|
|
}
|
|
####################################################################################################################################
|
|
Function NA-TestOutput {
|
|
$Output.Text = "This is Working!!!"
|
|
}
|
|
####################################################################################################################################
|
|
Function NA-VCenterConnection ($VCenterServer, $ConnState) {
|
|
|
|
#If (Get-VMHost -ErrorAction SilentlyContinue) { $Output.text = "Checking Status of VCenter Connection.....!" ;$Output.text = "Already Connected to VCenter: $VCenterServer" }
|
|
|
|
Switch($ConnState) {
|
|
Connect { $T = $DefaultVIServer | select -ExpandProperty IsConnected
|
|
If ($T -eq $True) { $Output.text = "Checking Status of VCenter Connection.....!" ;$Output.text = "Already Connected to VCenter: $VCenterServer"; Break }
|
|
|
|
Else {
|
|
$Output.text = "Connecting to VCenter ..... Please Wait!"
|
|
$Cred = Get-Credential -Credential (Get-WMIObject -class Win32_ComputerSystem | select -ExpandProperty username)
|
|
|
|
Connect-VIServer -Server $VCenterServerBox.Text -Credential $Cred
|
|
|
|
$T = $DefaultVIServer | select -ExpandProperty IsConnected
|
|
|
|
If ($T -eq $True) { $Output.text = "Successfully Connected to VCenter: $VCenterServer"
|
|
$Global:VCenterConnectionStatus = $True }
|
|
|
|
Else { $Output.text = "Failed to Connect to VCenter $VCenterServer - Please Try Again!" }
|
|
}#end Else
|
|
}
|
|
|
|
Disconnect { If ($Global:VCenterConnectionStatus -eq $True) { $Global:VCenterConnectionStatus = $False ;Disconnect-VIServer -Server $Global:VC -Force -Confirm:$false}
|
|
Else { Break }
|
|
}
|
|
|
|
}#end Switch
|
|
|
|
|
|
|
|
}#end Function
|
|
####################################################################################################################################
|
|
Function NA-Get-DHCPinfo ($Option,$ScopeSend,$DisplayOption) {
|
|
|
|
Begin { }
|
|
|
|
Process {
|
|
Switch($Option)
|
|
{
|
|
ExclusionList { $PickScope = $ScopeSend #$labelScopeSelected.Text #$comboboxScopes.Text
|
|
#$Output.Text = $PickScope
|
|
Invoke-Command -Session $Global:Session { Param($PickScope) $Get_Exclusion = Get-DhcpServerV4ExclusionRange -ScopeID $PickScope | sort StartRange } -ArgumentList $PickScope
|
|
$Exclusion = Invoke-Command -Session $Global:Session { $Get_Exclusion }
|
|
|
|
If ($Exclusion) {
|
|
|
|
Switch($DisplayOption) {
|
|
"OnScreen" { $Output.Text = $Exclusion | select ScopeID,StartRange,EndRange | ft -AutoSize | Out-String }
|
|
"GridView" { $Output.Text = $Exclusion | select ScopeID,StartRange,EndRange | Out-GridView }
|
|
"CSV" { $Output.Text = "This Option is not yet Available!!!!!!!!!!" }
|
|
}#end Switch
|
|
|
|
|
|
}#end If
|
|
|
|
Else { $Output.Text = "#### No Exclusions Found for the Scope: $PickScope ####" }
|
|
|
|
}#end ExclusionList
|
|
|
|
ReservationList { $PickScope = $ScopeSend
|
|
Invoke-Command -Session $Global:Session { Param($PickScope) $Get_Reservation = Get-DhcpServerV4Reservation -ScopeID $PickScope | Sort IPAddress } -ArgumentList $PickScope
|
|
$Res = Invoke-Command -Session $Global:Session { $Get_Reservation }
|
|
#
|
|
If ($Res) {
|
|
|
|
Switch($DisplayOption) {
|
|
"OnScreen" { $Output.Text = $Res | Select IPAddress,ClientID,Name,Description | Ft -AutoSize | Out-String }
|
|
"GridView" { $Output.Text = $Res | Select IPAddress,ClientID,Name,Description | Out-GridView }
|
|
"CSV" { $Output.Text = "This Option is not yet Available!!!!!!!!!!" }
|
|
}#end Switch
|
|
|
|
|
|
}#end If
|
|
|
|
Else { $Output.Text = "#### No Reservations Found for the Scope: $PickScope ####" }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}#end ReservationList
|
|
|
|
|
|
AddDHCPreservation { $PickScope = $ScopeSend
|
|
NA-CollectDHCPReservationInfo
|
|
|
|
$Res_Name = $Global:SendDHCPreservationInfo[0]
|
|
$Res_MAC = $Global:SendDHCPreservationInfo[1]
|
|
$Res_IP = $Global:SendDHCPreservationInfo[2]
|
|
$Res_Description = $Global:SendDHCPreservationInfo[3]
|
|
|
|
Invoke-Command -Session $Global:Session { Param($PickScope,$Res_Name,$Res_MAC,$Res_IP,$Res_Description) $ADD_Reservation = Add-DhcpServerv4Reservation -ScopeID $PickScope -IPAddress $Res_IP -ClientID $Res_MAC -Name $Res_Name -Description $Res_Description } -ArgumentList $PickScope,$Res_Name,$Res_MAC,$Res_IP,$Res_Description
|
|
|
|
Write-Host ""
|
|
NA-Verify -VerifyCode VerifyDHCPreservation -DHCPscope $PickScope
|
|
|
|
NA-ClearGlobalVariables
|
|
NA-RunAgain
|
|
}
|
|
|
|
|
|
DHCPscopes { NA-Get-CurrentIPv4Scopes
|
|
Invoke-Command -Session $Global:Session { Param($PickScope) $Get_Scope = Get-DhcpServerv4Scope -ScopeID $PickScope }
|
|
$Global:Scope = Invoke-Command -Session $Global:Session { $Get_Scope }
|
|
#Write-Host "Current Scope on DHCP Server:"
|
|
$Scope | select scopeid,subnetmask,name,state,startrange,endrange,leaseduration | ft -AutoSize
|
|
NA-ClearGlobalVariables
|
|
NA-RunAgain
|
|
}
|
|
|
|
AvailableIPAddresses { $PickScope = $ScopeSend
|
|
Invoke-Command -Session $Global:Session { Param($PickScope) $Get_AvailableIPs = Get-DhcpServerV4FreeIPAddress -ScopeID $PickScope -NumAddress 254 } -ArgumentList $PickScope
|
|
$FreeIP = Invoke-Command -Session $Global:Session { $Get_AvailableIPs }
|
|
$FreeIPCount = $FreeIP.count
|
|
#P
|
|
|
|
If ($FreeIP) {
|
|
Switch($DisplayOption) {
|
|
"OnScreen" { $Output.Text = $FreeIP | ft -AutoSize | Out-String }
|
|
"GridView" { $Output.Text = $FreeIP | Out-GridView }
|
|
"CSV" { $Output.Text = "This Option is not yet Available!!!!!!!!!!" }
|
|
}#end Switch
|
|
}
|
|
Else { $Output.Text = "#### No Available IP Addresses Found for the Scope: $PickScope ####" }
|
|
|
|
}
|
|
|
|
DhcpLease { NA-Get-CurrentIPv4Scopes
|
|
$PickScope = $Global:SendScope
|
|
Invoke-Command -Session $Global:Session { Param($PickScope) $Get_dhcpLease = Get-DhcpserverV4Lease -ScopeID $PickScope } -ArgumentList $PickScope
|
|
$DhcpLease = Invoke-Command -Session $Global:Session { $Get_dhcpLease }
|
|
$DhcpLease | Select IPAddress,ScopeID,ClientID,Hostname,AddressState, LeaseExpiryTime | Ft -Wrap
|
|
NA-ClearGlobalVariables
|
|
NA-RunAgain
|
|
}
|
|
DhcpScopeStats { Invoke-Command -Session $Global:Session { $Get_dhcpScopeStats = Get-DhcpServerV4ScopeStatistics }
|
|
$DhcpScopeStats = Invoke-Command -Session $Global:Session { $Get_dhcpScopeStats }
|
|
$DhcpScopeStats | select ScopeID,Free,InUse,@{n="PercentageInUse";e={[Math]::Round($_.PercentageInUse,2)}},Reserved,Pending,SuperScopeName | Ft -AutoSize
|
|
NA-ClearGlobalVariables
|
|
NA-RunAgain
|
|
}
|
|
DhcpServerStats { Invoke-Command -Session $Global:Session {$Get_DhcpServerStats = Get-DhcpServerV4Statistics }
|
|
$DhcpServerStats = Invoke-Command -Session $Global:Session { $Get_DhcpServerStats }
|
|
$DhcpServerStats | Fl
|
|
NA-ClearGlobalVariables
|
|
NA-RunAgain
|
|
}
|
|
|
|
PingDHCPexclusion { Write-Host "This option is not yet available ....!!" -ForegroundColor Red -BackgroundColor White
|
|
#NA-Verify -VerifyCode VerifyDHCPreservation -DHCPscope '172.27.144.0'
|
|
NA-Menu
|
|
}
|
|
|
|
Test { Invoke-Command -Session $Global:Session { $Name = $env:COMPUTERNAME }
|
|
$N = Invoke-Command -Session $Global:Session { $Name }
|
|
}
|
|
test2 { $Loc = Get-Location
|
|
Set-Location "H:\Documents\Scripts-Nabil\PowerShell\_Forms-Test"
|
|
.\temp-form.ps1
|
|
Set-Location $Loc
|
|
NA-RunAgain}
|
|
|
|
|
|
}#end Switch
|
|
}#end Process
|
|
}#end Function
|
|
|
|
##################################################################################################################
|
|
Function NA-Server-Connection ($SvrConn,$Server) {
|
|
Switch($SvrConn) {
|
|
0 { Write-Debug "Closing Connection"; Get-PSSession | Remove-PSSession
|
|
Write-Host "Good Bye !" -ForegroundColor Cyan }
|
|
|
|
1 { $Output.text = "Creating Connection to Server: $Server" | Out-String; $Global:Session = New-PSSession -ComputerName $Server
|
|
Invoke-Command -Session $Global:Session { Import-Module dhcpserver }
|
|
|
|
If (Get-Pssession) {
|
|
$Output.Text = "Successfully Connected to Server: $Server"
|
|
$labelDHCPServerStatus.Text = $Server
|
|
}#end If
|
|
|
|
}#end 1
|
|
|
|
}#end Switch
|
|
}#end Function
|
|
###################################################################################################################
|
|
Function NA-ClearGlobalVariables {
|
|
$Global:DisplayType = ""
|
|
$Global:Session = ""
|
|
$Global:Scope = ""
|
|
$Global:VCenterConnectionStatus = ""
|
|
$Global:VC = ""
|
|
$VCuser = ""
|
|
$VCpwd = ""
|
|
|
|
}
|
|
###################################################################################################################
|
|
|
|
|
|
#Call the form
|
|
Call-FirstForm4-tabs_psf | Out-Null
|