{"id":229,"date":"2018-11-12T14:04:36","date_gmt":"2018-11-12T13:04:36","guid":{"rendered":"http:\/\/brgeek.com.br\/wordpress\/?p=229"},"modified":"2018-11-12T14:04:36","modified_gmt":"2018-11-12T13:04:36","slug":"powershell-get-ip-details","status":"publish","type":"post","link":"http:\/\/brgeek.com.br\/wordpress\/2018\/11\/12\/powershell-get-ip-details\/","title":{"rendered":"Powershell &#8211; Get IP Details"},"content":{"rendered":"<p>Hi folks, this is a script to help you get network information from remote servers or clients.<br \/>\nYou can use get-content to a list of server names or you can run to a single machine.<br \/>\nThe information,includes,ComputerName,IPAddress,SubnetMask,Gateway,IsDHCPEnabled,DNSServers,WINSServers,MACAddress.<\/p>\n<p>Here is the code <\/p>\n<pre><code class=\"language-powershell\" data-line=\"\">\n\n#How to run you can target one single machine , multiple or point to a .txt file where you have a set of servers.\n# get-Content c:\\temp\\computers.txt | Get-IpDetails.ps1 | ft -auto\n# .\\get-Ipdetails.ps1 -computerName SERVER1 | ft -AutoSize\n# .\\get-Ipdetails.ps1 -computerName SERVER1,SERVER2 | ft -AutoSize\n\n\n[cmdletbinding()]\nparam (\n [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]\n    [string[]]$ComputerName = $env:computername\n)\n \nbegin {}\nprocess {\n\n foreach ($Computer in $ComputerName) {\n  if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {\n   try {\n    $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer -EA Stop | ? {$_.IPEnabled}\n   } catch {\n        Write-Warning &quot;Error occurred while querying $computer.&quot;\n        Continue\n   }\n   foreach ($Network in $Networks) {\n    $IPAddress  = $Network.IpAddress[0]\n    $SubnetMask  = $Network.IPSubnet[0]\n    $DefaultGateway = $Network.DefaultIPGateway\n    $DNSServers  = $Network.DNSServerSearchOrder\n    $WINS1 = $Network.WINSPrimaryServer\n    $WINS2 = $Network.WINSSecondaryServer   \n    $WINS = @($WINS1,$WINS2)         \n    $IsDHCPEnabled = $false\n    If($network.DHCPEnabled) {\n     $IsDHCPEnabled = $true\n    }\n    $MACAddress  = $Network.MACAddress\n    $OutputObj  = New-Object -Type PSObject\n    $OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()\n    $OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress\n    $OutputObj | Add-Member -MemberType NoteProperty -Name SubnetMask -Value $SubnetMask\n    $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value ($DefaultGateway -join &quot;,&quot;)      \n    $OutputObj | Add-Member -MemberType NoteProperty -Name IsDHCPEnabled -Value $IsDHCPEnabled\n    $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value ($DNSServers -join &quot;,&quot;)     \n    $OutputObj | Add-Member -MemberType NoteProperty -Name WINSServers -Value ($WINS -join &quot;,&quot;)        \n    $OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress\n    $OutputObj\n   }\n  }\n }\n}\n \nend {}\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hi folks, this is a script to help you get network information from remote servers or clients. You can use get-content to a list of server names or you can run to a single machine. The information,includes,ComputerName,IPAddress,SubnetMask,Gateway,IsDHCPEnabled,DNSServers,WINSServers,MACAddress. Here is the code #How to run you can target one single machine [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":148,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[37,38,36,8,6,11,35],"class_list":["post-229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-europe","tag-google","tag-ip-address","tag-michael-goulart","tag-powershell","tag-script","tag-wins"],"jetpack_featured_media_url":"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2017\/09\/powershell-tips-and-tricks_w_640.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/comments?post=229"}],"version-history":[{"count":1,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/229\/revisions"}],"predecessor-version":[{"id":230,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/229\/revisions\/230"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/media\/148"}],"wp:attachment":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/media?parent=229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/categories?post=229"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/tags?post=229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}