Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ########################################################################################################################################################
- # Powershell GUI Tool for basic windows Administration###############
- # Created by MLLSatyanarayana Email=mllsatyanarayana@gmail.com
- # Version:1.3
- # Enter one or mutiple servers line by line under EnterServers box and click the buttons according to your requirement
- #
- # In this tool all are self explantory except belwo ones
- # 1) Servic check
- # 2) Check Process
- # 3)Port check #
- # 4) Search Event logs
- #
- # For checking Services
- # example in order to check the specfic service name just enter first 3 letter of service name in the Filter box and click in service check
- # you will get the all the services list whih running with that words you mentioned
- # note: if you do not specify any words it will display all the services
- # For checking process
- # example in order to check the specfic process name just enter first 3 letter of processname in the Filter box and click in process check
- # you will get the all the services list whih running with that words you mentioned
- # note: if you do not specify any words it will display all the process
- #
- # For checking event logs
- # example: if you want to check the event logs system or applications select the log types and enter key words or Event ID in the filter box
- #
- # # Note: Please copy "Lucida Sans Typewriter,9" font in your server where this tool is running in order to get the out put in clearly
- #
- #
- # @@@@@@@@@@@@@@@@@@@@@You can covert this script to exe @@@@@@@@@@@@@@@@@@@@
- ########################################################################################################################################################
- Add-Type -AssemblyName System.Windows.Forms
- $Form = New-Object system.Windows.Forms.Form
- $Form.Text = "Power-GUI Version 1.3 Created by mllsatyanarayana@gmail.com"
- $Form.TopMost = $true
- $Form.Width = 900
- $Form.Height = 700
- $Form.FormBorderStyle= "Fixed3D"
- $form.StartPosition ="centerScreen"
- $form.ShowInTaskbar = $true
- $StatusBar = New-Object System.Windows.Forms.StatusBar
- $StatusBar.Text = "Ready"
- $StatusBar.Height = 22
- $StatusBar.Width = 200
- $StatusBar.Location = New-Object System.Drawing.Point( 0, 250 )
- $Form.Controls.Add($StatusBar)
- $InputBox = New-Object system.windows.Forms.TextBox
- $InputBox.Multiline = $true
- $InputBox.BackColor = "#A7D4F7"
- $InputBox.Width = 280
- $InputBox.Height = 132
- $InputBox.ScrollBars ="Vertical"
- $InputBox.location = new-object system.drawing.point(3,31)
- $InputBox.Font = "Microsoft Sans Serif,10,style=Bold"
- $Form.controls.Add($inputbox)
- $outputBox= New-Object System.Windows.Forms.RichTextBox
- $outputBox.Multiline = $true
- $outputBox.BackColor = "#FDFEFE"
- $outputBox.Width = 1200
- $outputBox.Height = 300
- $outputBox.ReadOnly =$true
- $outputBox.ScrollBars = "Both"
- $outputBox.WordWrap = $false
- $outputBox.location = new-object system.drawing.point(9,420)
- $outputBox.Font = "Lucida Sans Typewriter,9"
- $Form.controls.Add($outputBox)
- $label3 = New-Object system.windows.Forms.Label
- $label3.Text = "EnterServers"
- $label3.AutoSize = $true
- $label3.Width = 25
- $label3.Height = 10
- $label3.location = new-object system.drawing.point(4,9)
- $label3.Font = "Microsoft Sans Serif,10,style=Bold"
- $Form.controls.Add($label3)
- $filterbox= New-Object system.windows.Forms.TextBox
- $filterbox.Multiline = $true
- $filterbox.Width = 280
- $filterbox.Height = 77
- $filterbox.ScrollBars ="Vertical"
- $filterbox.location = new-object system.drawing.point(6,191)
- $filterbox.Font = "Microsoft Sans Serif,10"
- $Form.controls.Add($filterbox)
- $Filters = New-Object system.windows.Forms.Label
- $Filters.Text = "Filters"
- $Filters.AutoSize = $true
- $Filters.Width = 25
- $Filters.Height = 10
- $Filters.location = new-object system.drawing.point(7,170)
- $Filters.Font = "Microsoft Sans Serif,10,style=Bold"
- $Form.controls.Add($Filters)
- $Eventlb = New-Object system.windows.Forms.Label
- $Eventlb.Text = "Search Eventlogs"
- $Eventlb.AutoSize = $true
- $Eventlb.Width = 25
- $Eventlb.Height = 10
- $Eventlb.location = new-object system.drawing.point(7,280)
- $Eventlb.Font = "Microsoft Sans Serif,10,style=Bold"
- $Form.controls.Add($Eventlb)
- $applicationbutton = New-Object system.windows.Forms.Button
- $applicationbutton.BackColor = "#F2FD48"
- $applicationbutton.Text = "Application Logs"
- $applicationbutton.Width = 100
- $applicationbutton.Height = 25
- $applicationbutton.location = new-object system.drawing.point(170,300)
- $applicationbutton.Font = "Microsoft Sans Serif,8"
- $applicationbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(36, 36,255 )
- $applicationbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $applicationbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $applicationbutton.Add_Click({SAeventlogs})
- $Form.controls.Add($applicationbutton)
- $sysbutton= New-Object system.windows.Forms.Button
- $sysbutton.BackColor = "#56ACF7"
- $sysbutton.Text = "System Logs"
- $sysbutton.Width = 100
- $sysbutton.Height = 25
- $sysbutton.location = new-object system.drawing.point(270,300)
- $sysbutton.Font = "Microsoft Sans Serif,8"
- $sysbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(36, 255, 36)
- $sysbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $sysbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $sysbutton.Add_Click({SAeventlogs})
- $Form.controls.Add($sysbutton)
- $Setup= New-Object system.windows.Forms.Button
- $Setup.BackColor = "#FF5733"
- $Setup.Text = "Setup Logs"
- $Setup.Width = 100
- $Setup.Height = 25
- $Setup.location = new-object system.drawing.point(370,300)
- $Setup.Font = "Microsoft Sans Serif,8"
- $Setup.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Setup.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Setup.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Setup.Add_Click({SAeventlogs})
- $Form.controls.Add($Setup)
- #Dropdown Box
- $Dropdown = New-Object system.windows.Forms.ComboBox
- $Dropdown.BackColor = "#e4f3fa"
- $Dropdown.Width = 150
- $Dropdown.Height = 20
- $Dropdown.location = new-object system.drawing.point(9,300)
- $Dropdown.Font = "Microsoft Sans Serif,10"
- $Form.controls.Add($Dropdown)
- $EVList=@("Application","System","Setup")
- foreach ($EV in $EVList) {
- $DropDown.Items.Add($EV)
- }
- ##Dropdown Box End
- $Outputlb = New-Object system.windows.Forms.Label
- $Outputlb.Text = "Output"
- $Outputlb.AutoSize = $true
- $Outputlb.Width = 25
- $Outputlb.Height = 10
- $Outputlb.location = new-object system.drawing.point(12,370)
- $Outputlb.Font = "Microsoft Sans Serif,20,style=Bold"
- $Form.controls.Add($Outputlb)
- $Upbutton = New-Object system.windows.Forms.Button
- $Upbutton.BackColor = "#5bd22c"
- $Upbutton.Text = "Uptime"
- $Upbutton.Width = 80
- $Upbutton.Height = 22
- $Upbutton.location = new-object system.drawing.point(309,170)
- $Upbutton.Font = "Microsoft Sans Serif,8"
- $Upbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Upbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Upbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Upbutton.Add_Click({uptime})
- $Form.controls.Add($Upbutton)
- $NICbutton = New-Object system.windows.Forms.Button
- $NICbutton.BackColor = "#5bd22c"
- $NICbutton.Text = "Nicdetails"
- $NICbutton.Width = 80
- $NICbutton.Height = 22
- $NICbutton.location = new-object system.drawing.point(309,200)
- $NICbutton.Font = "Microsoft Sans Serif,8"
- $NICbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $NICbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $NICbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $NICbutton.Add_Click({nic})
- $Form.controls.Add($NICbutton)
- $WLAbutton = New-Object system.windows.Forms.Button
- $WLAbutton.BackColor = "#5bd22c"
- $WLAbutton.Text = "Windows OS Activation status"
- $WLAbutton.Width = 180
- $WLAbutton.Height = 22
- $WLAbutton.location = new-object system.drawing.point(309,230)
- $WLAbutton.Font = "Microsoft Sans Serif,8"
- $WLAbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $WLAbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $WLAbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $WLAbutton.Add_Click({WLA})
- $Form.controls.Add($WLAbutton)
- $Serbutton = New-Object system.windows.Forms.Button
- $Serbutton.BackColor = "#5bd22c"
- $Serbutton.Text = "Servicecheck"
- $Serbutton.Width = 80
- $Serbutton.Height = 22
- $Serbutton.location = new-object system.drawing.point(309,50)
- $Serbutton.Font = "Microsoft Sans Serif,8"
- $Serbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Serbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Serbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Serbutton.Add_Click({Service})
- $Form.controls.Add($Serbutton)
- $Biosbutton = New-Object system.windows.Forms.Button
- $Biosbutton.BackColor = "#5bd22c"
- $Biosbutton.Text = "Bios Details"
- $Biosbutton.Width = 80
- $Biosbutton.Height = 22
- $Biosbutton.location = new-object system.drawing.point(309,80)
- $Biosbutton.Font = "Microsoft Sans Serif,8"
- $Biosbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Biosbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Biosbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Biosbutton.Add_Click({bios})
- $Form.controls.Add($Biosbutton)
- $Listservicebutton = New-Object system.windows.Forms.Button
- $Listservicebutton.BackColor = "#5bd22c"
- $Listservicebutton.Text = "List Services"
- $Listservicebutton.Width = 80
- $Listservicebutton.Height = 22
- $Listservicebutton.location = new-object system.drawing.point(309,110)
- $Listservicebutton.Font = "Microsoft Sans Serif,8"
- $Listservicebutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Listservicebutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Listservicebutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Listservicebutton.Add_Click({get-ser})
- $Form.controls.Add($Listservicebutton)
- $InstalledAppsbutton = New-Object system.windows.Forms.Button
- $InstalledAppsbutton.BackColor = "#5bd22c"
- $InstalledAppsbutton.Text = "InstalledApps"
- $InstalledAppsbutton.Width = 80
- $InstalledAppsbutton.Height = 22
- $InstalledAppsbutton.location = new-object system.drawing.point(309,140)
- $InstalledAppsbutton.Font = "Microsoft Sans Serif,8"
- $InstalledAppsbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $InstalledAppsbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $InstalledAppsbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $InstalledAppsbutton.Add_Click({applist})
- $Form.controls.Add($InstalledAppsbutton)
- $Pingbutton = New-Object system.windows.Forms.Button
- $Pingbutton.BackColor = "#5bd22c"
- $Pingbutton.Text = "Ping"
- $Pingbutton.Width = 80
- $Pingbutton.Height = 22
- $Pingbutton.location = new-object system.drawing.point(309,21)
- $Pingbutton.Font = "Microsoft Sans Serif,8"
- $Pingbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Pingbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Pingbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Pingbutton.Add_Click({pingInfo})
- $Form.controls.Add($Pingbutton)
- $diskbutton = New-Object system.windows.Forms.Button
- $diskbutton.BackColor = "#5bd22c"
- $diskbutton.Text = "Drive Useage"
- $diskbutton.Width = 80
- $diskbutton.Height = 22
- $diskbutton.location = new-object system.drawing.point(400,21)
- $diskbutton.Font = "Microsoft Sans Serif,8"
- $diskbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $diskbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $diskbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $diskbutton.Add_Click({disk})
- $Form.controls.Add($diskbutton)
- $cpubutton = New-Object system.windows.Forms.Button
- $cpubutton.BackColor = "#5bd22c"
- $cpubutton.Text = "Cpu Utlization"
- $cpubutton.Width = 80
- $cpubutton.Height = 22
- $cpubutton.location = new-object system.drawing.point(400,50)
- $cpubutton.Font = "Microsoft Sans Serif,8"
- $cpubutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $cpubutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $cpubutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $cpubutton.Add_Click({cpu})
- $Form.controls.Add($cpubutton)
- $HWSbutton = New-Object system.windows.Forms.Button
- $HWSbutton.BackColor = "#5bd22c"
- $HWSbutton.Text = "Get-HWSerial"
- $HWSbutton.Width = 80
- $HWSbutton.Height = 22
- $HWSbutton.location = new-object system.drawing.point(400,140)
- $HWSbutton.Font = "Microsoft Sans Serif,9"
- $HWSbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $HWSbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $HWSbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $HWSbutton.Add_Click({Get-hwserial})
- $Form.controls.Add($HWSbutton)
- $Membutton = New-Object system.windows.Forms.Button
- $Membutton.BackColor = "#5bd22c"
- $Membutton.Text = "Memmoryuse"
- $Membutton.Width = 80
- $Membutton.Height = 22
- $Membutton.location = new-object system.drawing.point(400,80)
- $Membutton.Font = "Microsoft Sans Serif,8"
- $Membutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Membutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Membutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Membutton.Add_Click({Memmoryuse})
- $Form.controls.Add($Membutton)
- $OSVbutton = New-Object system.windows.Forms.Button
- $OSVbutton.BackColor = "#5bd22c"
- $OSVbutton.Text = "OsVersion"
- $OSVbutton.Width = 80
- $OSVbutton.Height = 22
- $OSVbutton.location = new-object system.drawing.point(490,140)
- $OSVbutton.Font = "Microsoft Sans Serif,8"
- $OSVbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $OSVbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $OSVbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $OSVbutton.Add_Click({get-osv})
- $Form.controls.Add($OSVbutton)
- $Process = New-Object system.windows.Forms.Button
- $Process.BackColor = "#5bd22c"
- $Process.Text = "Check Process"
- $Process.Width = 80
- $Process.Height = 22
- $Process.location = new-object system.drawing.point(400,110)
- $Process.Font = "Microsoft Sans Serif,8"
- $Process.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Process.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Process.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Process.Add_Click({proc})
- $Form.controls.Add($Process)
- $commgmtbutton = New-Object system.windows.Forms.Button
- $commgmtbutton.BackColor = "#55e72c"
- $commgmtbutton.Text = "Compmgmt"
- $commgmtbutton.Width = 80
- $commgmtbutton.Height = 22
- $commgmtbutton.location = new-object system.drawing.point(400,170)
- $commgmtbutton.Font = "Microsoft Sans Serif,8"
- $commgmtbutton.Add_Click({sysmgmt})
- $commgmtbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $commgmtbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $commgmtbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Form.controls.Add($commgmtbutton)
- $LAdminbutton = New-Object system.windows.Forms.Button
- $LAdminbutton.BackColor = "#5bd22c"
- $LAdminbutton.Text = "Get-localadmins"
- $LAdminbutton.Width = 89
- $LAdminbutton.Height = 22
- $LAdminbutton.location = new-object system.drawing.point(490,21)
- $LAdminbutton.Font = "Microsoft Sans Serif,8"
- $LAdminbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $LAdminbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $LAdminbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $LAdminbutton.Add_Click({Localadmins})
- $Form.controls.Add($LAdminbutton)
- $DSAbutton = New-Object system.windows.Forms.Button
- $DSAbutton.BackColor = "#5bd22c"
- $DSAbutton.Text = "DSA.MSC"
- $DSAbutton.Width = 80
- $DSAbutton.Height = 22
- $DSAbutton.location = new-object system.drawing.point(490,50)
- $DSAbutton.Font = "Microsoft Sans Serif,8"
- $DSAbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $DSAbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $DSAbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $DSAbutton.Add_Click({dsamsc})
- $Form.controls.Add($DSAbutton)
- $portbutton = New-Object system.windows.Forms.Button
- $portbutton.BackColor = "#5bd22c"
- $portbutton.Text = "Port check"
- $portbutton.Width = 80
- $portbutton.Height = 22
- $portbutton.location = new-object system.drawing.point(490,80)
- $portbutton.Font = "Microsoft Sans Serif,8"
- $portbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $portbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $portbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $portbutton.Add_Click({Get-portstatus})
- $Form.controls.Add($portbutton)
- $Remoteshutbutton = New-Object system.windows.Forms.Button
- $Remoteshutbutton.BackColor = "#e3211d"
- $Remoteshutbutton.Text = "RemoteShutdown"
- $Remoteshutbutton.Width = 88
- $Remoteshutbutton.Height = 22
- $Remoteshutbutton.location = new-object system.drawing.point(490,110)
- $Remoteshutbutton.Font = "Microsoft Sans Serif,7"
- $Remoteshutbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Remoteshutbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Remoteshutbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Remoteshutbutton.Add_Click({poweroff})
- $Form.controls.Add($Remoteshutbutton)
- $Hotfixbutton= New-Object system.windows.Forms.Button
- $Hotfixbutton.BackColor = "#5bd22c"
- $Hotfixbutton.Text = "Hotfix"
- $Hotfixbutton.Width = 80
- $Hotfixbutton.Height = 22
- $Hotfixbutton.location = new-object system.drawing.point(490,170)
- $Hotfixbutton.Font = "Microsoft Sans Serif,8"
- $Hotfixbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $Hotfixbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $Hotfixbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $Hotfixbutton.Add_Click({Get-update})
- $Form.controls.Add($Hotfixbutton)
- $exitbutton = New-Object system.windows.Forms.Button
- $exitbutton.BackColor = "#5bd22c"
- $exitbutton.Text = "Exit"
- $exitbutton.Width = 80
- $exitbutton.Height = 22
- $exitbutton.location = new-object system.drawing.point(600,20)
- $exitbutton.Font = "Microsoft Sans Serif,8"
- $exitbutton.FlatAppearance.MouseOverBackColor = [System.Drawing.Color]::FromArgb(255, 255, 36)
- $exitbutton.FlatStyle = [System.Windows.Forms.FlatStyle]::Flat
- $exitbutton.Cursor = [System.Windows.Forms.Cursors]::Hand
- $exitbutton.Add_Click({$form.close()})
- $Form.controls.Add($exitbutton)
- ###################This function is to dispaly the progress############################
- Function Progressbar
- {
- Add-Type -AssemblyName system.windows.forms
- $Script:formt = New-Object System.Windows.Forms.Form
- $Script:formt.Text = 'Please Wait'
- $Script:formt.TopMost = $true
- $Script:formt.StartPosition ="CenterScreen"
- $Script:formt.Width = 500
- $Script:formt.Height = 20
- $Script:formt.MaximizeBox = $false
- $Script:formt.MinimizeBox = $false
- $Script:formt.Visible = $false
- }
- ############################################## End of Progressbar function#############
- ############################################## PingFunction#############
- function pingInfo {
- $statusBar.Text=("Processing the request")
- progressbar
- $outputBox.Clear()
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infping =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infping +=ping $computer -n 3
- $pingResult=$infping| ft | out-string
- }
- $outputBox.Appendtext("{0}`n" -f $pingResult + "`n $ct")
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ####################end pingInfo########################################
- ####################################Uptime function start####################################
- function get-uptime {
- param(
- $computername =$env:computername
- )
- $os = Get-WmiObject win32_operatingsystem -ComputerName $computername -ea silentlycontinue
- if($os){
- $lastbootuptime =$os.ConvertTodateTime($os.LastBootUpTime)
- $LocalDateTime =$os.ConvertTodateTime($os.LocalDateTime)
- $up =$LocalDateTime - $lastbootuptime
- $uptime ="$($up.Days) days, $($up.Hours)h, $($up.Minutes)mins"
- $results =new-object psobject
- $results |Add-Member noteproperty LastBootUptime $LastBootuptime
- $results |Add-Member noteproperty ComputerName $computername
- $results |Add-Member noteproperty uptime $uptime
- #Display the results
- $results | Select-Object computername,LastBootuptime,Uptime
- }
- else
- {
- $results =New-Object psobject
- $results =new-object psobject
- $results |Add-Member noteproperty LastBootUptime "Na"
- $results |Add-Member noteproperty ComputerName $computername
- $results |Add-Member noteproperty uptime "Na"
- #display the results
- $results | Select-Object computername,LastBootUptime,Uptime
- }
- }
- $infouptime =@()
- foreach($allserver in $allservers){
- $infouptime += get-uptime $allserver
- }
- $infouptime
- function uptime {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date = Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infouptime = @()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infouptime += get-uptime $computer
- $res =$infouptime | ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $res +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ####################################Uptime function end####################################
- #####################################Disk Functions start############################################
- Function Dinfo ($ComputerName=$ENV:ComputerName) {
- foreach ($disk in $ComputerName){
- Get-WmiObject win32_logicaldisk -ComputerName $ComputerName -Filter "Drivetype=3" |
- Select-Object @{Label = "ServerName";Expression = {$_.__Server}},
- @{Label = "Drive Letter";Expression = {$_.DeviceID}},
- @{Label = "Total Capacity (GB)";Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
- @{Label = "Free Space (GB)";Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) }},
- @{Label="FreeSpace%"; Expression={"{0:N0}" -F (($_.Freespace/$_.Size)*100)}}
- }
- }
- function disk {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infod=@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infod += Dinfo $computer
- $dpres= $infod | ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $dpres +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- #####################################Disk Functions start############################################
- ###############################Remote shutdown#####################################
- function poweroff{
- $po=shutdown -i
- Write-Host $po
- }
- function sysmgmt{
- $outputBox.Text ="opening mmc console for computer management Please wait"
- $cm= compmgmt.msc
- Write-Host $cm
- }
- function dsamsc{
- $outputBox.Text ="opening DSA.MSC console for computer management Please wait"
- $cm= DSA.msc
- Write-Host $cm
- }
- ###############################Remote shutdown END #####################################
- ##################################Service function#################################
- function Service{
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $sname =$filterbox.text
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infserv =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- #$s= Get-Service -ComputerName $computer -Name $sname| Select-Object MachineName,Name,Status | ft -AutoSize | Out-String
- $infserv +=Get-WmiObject -Class win32_service -ComputerName $computer -Filter "Name Like '%$sname%'" | Select-Object PSComputerName,Name,StartMode,State
- $s = $infserv| ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $s+"`n $ct")
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ##################################Service function end #################################
- ####################################################memmoryFunctions ###start#########################
- Function Get-MemmoryUtlizatio ($ComputerName=$ENV:ComputerName) {
- Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName |
- Select @{Name="Servername";Expression = {$_.__Server}},
- @{Name = "TotalGB";Expression = {[int]($_.TotalVisibleMemorySize/1mb)}},
- @{Name = "MemoryUsage"; Expression = {“{0:N2}” -f ((($_.TotalVisibleMemorySize - $_.FreePhysicalMemory)*100)/ $_.TotalVisibleMemorySize) }},
- @{Name = "FreeGB";Expression = {[math]::Round($_.FreePhysicalMemory/1mb,2)}},
- @{Name = "PercentFree%"; Expression = {[math]::Round(($_.FreePhysicalMemory/$_.TotalVisibleMemorySize)*100,2)}}
- }
- function Memmoryuse {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infoms =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infoms += Get-MemmoryUtlizatio $computer
- $mres = $infoms |ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $mres + "`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ####################################memmory function end#####################################################
- ####################################################Installed Appst##########################################
- function Get-InstalledApps
- {
- [CmdletBinding()]
- [OutputType([int])]
- Param
- (
- [Parameter(Mandatory=$true,
- ValueFromPipelineByPropertyName=$true,
- Position=0)]
- $computer
- )
- Begin
- {
- }
- Process
- {
- $win32_product = @(get-wmiobject -class ‘Win32_Product’ -computer $computer)
- foreach ($app in $win32_product){
- $applications = New-Object PSObject -Property @{
- Name = $app.Name
- Version = $app.Version
- InstallDate=$app.InstallDate
- Computername=$app.PSComputerName
- }
- Write-Output $applications | Select-Object Computername,Name,Version, InstallDate
- }
- }
- End
- {
- }
- }
- function Applist {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $m = Get-InstalledApps $computer |Out-String
- Write-Host $m | ft -AutoSize
- $outputBox.Appendtext("{0}`n" -f $m +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- }
- ####################################################Installed Appstend#############################################
- ######################################################################
- # Powershell script to get the the Services on remote servers
- # It will give the services status
- # Customized script useful to every one
- # Please contact mllsatyanarayana@gmail.com for any suggestions#
- #########################################################################
- function Get-servies
- {
- [CmdletBinding()]
- [OutputType([int])]
- Param
- (
- [Parameter(Mandatory=$true,
- ValueFromPipelineByPropertyName=$true,
- Position=0)]
- $computer
- )
- Begin
- {
- }
- Process
- {
- $win32_product = @(get-wmiobject -class ‘win32_service’ -computer $computer)
- foreach ($app in $win32_product){
- $applications = New-Object PSObject -Property @{
- Name = $app.Name
- StartMode = $app.StartMode
- State=$app.State
- Computername=$app.PSComputerName
- }
- Write-Output $applications | Select-Object Computername,Name,StartMode, State
- }
- }
- End
- {
- }
- }
- function Get-ser {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infser =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infser += Get-servies $computer
- $sl = $infser| ft -AutoSize |Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $sl +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ####function end###
- #########################################HOTFIX################################
- function Get-hotfixes
- {
- [CmdletBinding()]
- [OutputType([int])]
- Param
- (
- [Parameter(Mandatory=$true,
- ValueFromPipelineByPropertyName=$true,
- Position=0)]
- $computer
- )
- Begin
- {
- }
- Process
- {
- $win32_product = @(get-wmiobject -class ‘Win32_QuickfixEngineering’ -computer $computer)
- foreach ($app in $win32_product){
- $applications = New-Object PSObject -Property @{
- Name = $app.Name
- Description = $app.Description
- HotFixID=$app.HotFixID
- InstalledBy=$app.InstalledBy
- InstalledOn=$app.InstalledOn
- Computername=$app.PSComputerName
- }
- Write-Output $applications | Select-Object Computername,HotFixID ,InstalledBy, InstalledOn
- }
- }
- End
- {
- }
- }
- function Get-update {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $m = Get-hotfixes $computer | ft -AutoSize|Out-String
- $outputBox.Appendtext("{0}`n" -f $m +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- }
- #########################################HOTFIXEND################################
- ############################################OSTYPE#####################################
- function Get-ostype
- {
- [CmdletBinding()]
- [OutputType([int])]
- Param
- (
- [Parameter(Mandatory=$true,
- ValueFromPipelineByPropertyName=$true,
- Position=0)]
- $computer
- )
- Begin
- {
- }
- Process
- {
- $win32_product = @(get-wmiobject -class ‘ Win32_OperatingSystem ’ -computer $computer)
- foreach ($app in $win32_product){
- $applications = New-Object PSObject -Property @{
- Name = $app.Name
- caption = $app.caption
- OSArchitecture=$app.OSArchitecture
- ServicePackMajorVersion=$app.ServicePackMajorVersion
- Computername=$app.PSComputerName
- }
- Write-Output $applications | Select-Object Computername, caption,OSArchitecture, ServicePackMajorVersion
- }
- }
- End
- {
- }
- }
- function Get-osv {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $osver =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $osver += Get-ostype $computer
- $osvr = $osver | ft -AutoSize|Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $osvr+"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ############################################OSTYPE#####################################
- ####################serial start####################################################################
- function get-serial {
- param(
- $computername =$env:computername
- )
- $os = Get-WmiObject Win32_bios -ComputerName $computername -ea silentlycontinue
- if($os){
- $SerialNumber =$os.SerialNumber
- $servername=$os.PSComputerName
- $results =new-object psobject
- $results |Add-Member noteproperty SerialNumber $SerialNumber
- $results |Add-Member noteproperty ComputerName $servername
- #Display the results
- $results | Select-Object computername,SerialNumber
- }
- else
- {
- $results =New-Object psobject
- $results =new-object psobject
- $results |Add-Member noteproperty SerialNumber "Na"
- $results |Add-Member noteproperty ComputerName $servername
- #display the results
- $results | Select-Object computername,SerialNumber
- }
- }
- $infserial =@()
- foreach($allserver in $allservers){
- $infserial += get-serial $allserver
- }
- $infserial
- function Get-hwserial {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infserial =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infserial += Get-serial $computer
- $res = $infserial | ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $res +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ####################serial start###############################################################
- #############Bios start#######################################################################
- function get-Bios {
- param(
- $computername =$env:computername
- )
- $os = Get-WmiObject Win32_bios -ComputerName $computername -ea silentlycontinue
- if($os){
- $SerialNumber =$os.SerialNumber
- $servername=$os.PSComputerName
- $Name= $os.Name
- $SMBIOSBIOSVersion=$os.SMBIOSBIOSVersion
- $Manufacturer=$os.Manufacturer
- $results =new-object psobject
- $results |Add-Member noteproperty SerialNumber $SerialNumber
- $results |Add-Member noteproperty ComputerName $servername
- $results |Add-Member noteproperty Name $Name
- $results |Add-Member noteproperty SMBIOSBIOSVersion $SMBIOSBIOSVersion
- $results |Add-Member noteproperty Manufacture $Manufacture
- #Display the results
- $results | Select-Object computername,SMBIOSBIOSVersion,Name,Manufacture ,SerialNumber
- }
- else
- {
- $results =new-object psobject
- $results |Add-Member noteproperty SerialNumber "Na"
- $results |Add-Member noteproperty ComputerName $servername
- $results |Add-Member noteproperty Name $Name
- $results |Add-Member noteproperty SMBIOSBIOSVersion $SMBIOSBIOSVersion
- $results |Add-Member noteproperty Manufacture $Manufacture
- #display the results
- $results | Select-Object computername,SMBIOSBIOSVersion,Name,Manufacture ,SerialNumber
- }
- }
- $infbios =@()
- foreach($allserver in $allservers){
- $infbios += get-Bios $allserver
- }
- $infbios
- function bios {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infbios =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infbios += get-Bios $computer
- $res = $infbios | ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $res +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- #############################Bios start#######################################################################
- ###############################################pstart###########################################
- function checkport {
- param(
- $computername =$env:computername
- )
- $sname =$filterbox.text
- $os = Test-NetConnection -ComputerName $computername -port $sname -ea silentlycontinue
- if($os){
- $TcpTestSucceeded =$os.TcpTestSucceeded
- $servername=$os.ComputerName
- $results =new-object psobject
- $results |Add-Member noteproperty TcpTestSucceeded $TcpTestSucceeded
- $results |Add-Member noteproperty ComputerName $servername
- #Display the results
- $results | Select-Object computername,TcpTestSucceeded
- }
- else
- {
- $results =New-Object psobject
- $results =new-object psobject
- $results |Add-Member noteproperty TcpTestSucceeded "Na"
- $results |Add-Member noteproperty ComputerName $servername
- #display the results
- $results | Select-Object computername,TcpTestSucceeded
- }
- }
- $infoport =@()
- foreach($allserver in $allservers){
- $infoport += checkport $allserver
- }
- $infoport
- function Get-portstatus {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infoport =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infoport += checkport $computer
- $pres= $infoport| ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $pres +"`n $ct")
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ###############################################pstartend###########################################
- function exit{
- $global:QUIT = $true
- $objForm.Close()
- }
- ############local admin start###########
- function get-localadmin {
- param ($computerName)
- $admins = Gwmi win32_groupuser –computer $computerName
- $admins = $admins |? {$_.groupcomponent –like '*"Administrators"'}
- $admins |% {
- $_.partcomponent –match “.+Domain\=(.+)\,Name\=(.+)$” > $nul
- $matches[1].trim('"') + “\” + $matches[2].trim('"')
- }
- }
- $inflocaladmin =@()
- foreach($allserver in $allservers){
- $inflocaladmin += get-localadmin $allserver
- }
- $inflocaladmin
- function Localadmins{
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $inflocaladmin =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $inflocaladmin += get-localadmin $computer
- $infres = $inflocaladmin| ft -AutoSize|Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $infres +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ############local admin function ends###########
- ################CPU Function Start#############################################
- function Get-Cpu{
- param(
- $computername =$env:computername
- )
- $os = gwmi win32_perfformatteddata_perfos_processor -ComputerName $computername| ? {$_.name -eq "_total"} | select -ExpandProperty PercentProcessorTime -ea silentlycontinue
- if(($os -match '\d+') -or ($os -eq '0')){
- $results =new-object psobject
- $results |Add-Member noteproperty Cputil $os
- $results |Add-Member noteproperty ComputerName $computername
- $results | Select-Object computername,Cputil
- }
- else{
- $results =new-object psobject
- $results |Add-Member noteproperty Cputil "Na"
- $results |Add-Member noteproperty ComputerName $computername
- $results | Select-Object computername,Cputil
- }
- }
- function cpu {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infcpu =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infcpu += get-Cpu $computer
- $res = $infcpu | ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $res +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ################CPU Function end#############################################
- ##################Processfunction Start########################################
- Function Processutil ($computerName=$env:COMPUTERNAME) {
- if ($osp = Get-wmiobject win32_process -ComputerName $ComputerName | where{$_.name -like "*$sname*"} | Sort ws -desc | ft Pscomputername,Name,ProcessId,@{Name="Mem Useage (MB)";Expression={[math]::round($_.ws / 1mb)}} -AutoSize )
- {
- $osp
- }
- else
- {
- $outputbox.text = "Server offlne or no process running"
- }
- }
- function proc {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $sname =$filterbox.text
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infproc =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infproc += Processutil $computer
- $pres = $infproc| ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $pres +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ##################Processfunction Start########################################
- function SAeventlogs{
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $date=Get-Date
- $computers=$InputBox.lines.Split("`n")
- $evs =$Dropdown.SelectedItem.ToString()
- $app= $evs
- $args = @{}
- $args.Add("StartTime", ((Get-Date).AddHours(-24)))
- $args.Add("EndTime", (Get-Date))
- $args.Add("LogName", $app)
- $ct = "Task Completed @ " + $date
- $sname =$filterbox.text
- $Script:formt.Visible=$true
- $infev =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infev += Get-winevent -FilterHashtable $args -ComputerName $computer| Where-Object {($_.Message -match "$sname") -or ($_.ID -match "$sname")} |Select-Object Machinename,ID,Timecreated,Message
- $evResult =$infev | ft -AutoSize -Wrap | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $evResult + "`n $ct")
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ##################################################Nic Start ###############
- function NetIPdetails ($computerName=$env:COMPUTERNAME)
- {
- foreach ($Computer in $ComputerName) {
- if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {
- try {
- $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer -EA Stop | ? {$_.IPEnabled}
- } catch {
- Write-Warning "Error occurred while querying $computer."
- Continue
- }
- foreach ($Network in $Networks) {
- $IPAddress = $Network.IpAddress[0]
- $SubnetMask = $Network.IPSubnet[0]
- $DefaultGateway = $Network.DefaultIPGateway
- $DNSServers = $Network.DNSServerSearchOrder
- $Description = $Network.Description
- $WINS1 = $Network.WINSPrimaryServer
- $WINS2 = $Network.WINSSecondaryServer
- $WINS = @($WINS1,$WINS2)
- $IsDHCPEnabled = $false
- If($network.DHCPEnabled) {
- $IsDHCPEnabled = $true
- }
- $MACAddress = $Network.MACAddress
- $OutputObj = New-Object -Type PSObject
- $OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()
- $OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress
- $OutputObj | Add-Member -MemberType NoteProperty -Name SubnetMask -Value $SubnetMask
- $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value ($DefaultGateway -join ",")
- $OutputObj | Add-Member -MemberType NoteProperty -Name IsDHCPEnabled -Value $IsDHCPEnabled
- $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value ($DNSServers -join ",")
- $OutputObj | Add-Member -MemberType NoteProperty -Name Description -Value $Description
- $OutputObj | Add-Member -MemberType NoteProperty -Name WINSServers -Value ($WINS -join ",")
- $OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress
- $OutputObj
- }
- }
- }
- }
- function Nic {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $sname =$filterbox.text
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infnic =@()
- foreach ($computer in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infnic += NetIPdetails $computer
- $nres = $infnic| ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $nres +"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- ##################################################End of the function###############
- function Get-ActivationStatus {
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
- [string]$DNSHostName = $Env:COMPUTERNAME
- )
- process {
- try {
- $wpa = Get-WmiObject SoftwareLicensingProduct -ComputerName $DNSHostName `
- -Filter "ApplicationID = '55c92734-d682-4d71-983e-d6ec3f16059f'" `
- -Property LicenseStatus -ErrorAction Stop
- } catch {
- $status = New-Object ComponentModel.Win32Exception ($_.Exception.ErrorCode)
- $wpa = $null
- }
- $out = New-Object psobject -Property @{
- ComputerName = $DNSHostName;
- Status = [string]::Empty;
- }
- if ($wpa) {
- :outer foreach($item in $wpa) {
- switch ($item.LicenseStatus) {
- 0 {$out.Status = "Unlicensed"}
- 1 {$out.Status = "Licensed"; break outer}
- 2 {$out.Status = "Out-Of-Box Grace Period"; break outer}
- 3 {$out.Status = "Out-Of-Tolerance Grace Period"; break outer}
- 4 {$out.Status = "Non-Genuine Grace Period"; break outer}
- 5 {$out.Status = "Notification"; break outer}
- 6 {$out.Status = "Extended Grace"; break outer}
- default {$out.Status = "Unknown value"}
- }
- }
- } else { $out.Status = $status.Message }
- $out
- }
- }
- function WLA {
- progressbar
- $outputBox.Clear()
- $statusBar.Text=("Processing the request")
- $computers=$InputBox.lines.Split("`n")
- $date =Get-Date
- $sname =$filterbox.text
- $ct = "Task Completed @ " + $date
- $Script:formt.Visible=$true
- $infwl =@()
- foreach ($DNSHostName in $computers)
- {
- $Script:formt.text="Working on $computer"
- $infwl += Get-ActivationStatus $DNSHostName
- $wlres = $infwl| ft -AutoSize | Out-String
- }
- $outputBox.Appendtext("{0}`n" -f $wlres+"`n $ct" )
- $statusBar.Text=("Ready")
- $Script:formt.close()
- }
- [void]$Form.ShowDialog()
- $Form.Dispose()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement