schreckinger 10 Geschrieben 26. März 2012 Melden Teilen Geschrieben 26. März 2012 Hallo Gemeinde, hi leute :) Also ich möchte mir einen Tool bauen für die Netzwerkanaylse Der Scanner soll die IP-Range auflisten, Hostnamen, IP, MAC Adresse, Shares anzeigen und ob der PC Online ist. #Network Anaylse Clear-Host function Get-IPAddress { param( [switch] $first, [Parameter(ParameterSetName='IPV4')] [switch] $IPv4, [Parameter(ParameterSetName='IPV4')] [switch] $IPv6 ) $ip = @(Get-WmiObject -Filter 'IPEnabled=true' Win32_NetworkAdapterConfiguration | Select-Object -ExpandProperty IPAddress) if ($IPv4) { $ip = $ip | Where-Object { $_ -like '*.*' }} if ($IPv6) { $ip = $ip | Where-Object { $_ -like '*:*' }} if ($ip.Count -gt 1 -and $first) { $ip[0] } else { $ip } } function Get-IPRange($start, $end) { $ip1 = ([system.Net.IPAddress]$start).GetAddressBytes() [Array]::Reverse($ip1) $ip1 = ([system.Net.IPAddress]($ip1 -join '.')).Address $ip2 = ([system.Net.IPAddress]$end).GetAddressBytes() [Array]::Reverse($ip2) $ip2 = ([system.Net.IPAddress]($ip2 -join '.')).Address for ($x = $ip1; $x -le $ip2; $x++) { $ip = ([system.Net.IPAddress]$x).GetAddressBytes() [Array]::Reverse($ip) $ip -join '.' } } if ($PSCmdlet.ParameterSetName -eq 'Automatic') { @(Get-IPAddress -first:$first -IPv4) | ForEach-Object { $temp = ([system.Net.IPAddress]$_).GetAddressBytes() $temp[3] = 1 [system.Net.IPAddress]$start = $temp -join '.' $temp[3] = 255 [system.Net.IPAddress]$end = $temp -join '.' Get-IPRange $start $end } } else { Get-IPRange $start $end } function Test-Online { param( [Parameter(Mandatory=$true, ValueFromPipeline=$true)] [string] $computername, [int32] $throttleLimit = 300 ) begin { $list = New-Object System.Collections.ArrayList } process { [void]$list.Add($computername) } end { & { do { $number = [Math]::Min($list.Count, $throttleLimit) $chunk = $list.GetRange(0, $number) $job = Test-Connection $chunk �Count 1 �asJob $job | Wait-Job | Receive-Job | Where-Object { $_.StatusCode -eq 0 } | Select-Object �expandProperty Address Remove-Job $job $list.RemoveRange(0, $number) } while ($list.Count -gt 0) } | Sort-Object { [system.Version]$_ } } } function Get-HostName { param( [Parameter(Mandatory=$true, ValueFromPipeline=$true)] [string[]] $IPAddress ) process { $IPAddress | Foreach-Object { $ip = $_ try { [system.Net.DNS]::GetHostByAddress($ip) } catch { Write-Warning �IP $ip did not return DNS information� } } } } Get-IPAddress | Test-Online | Get-HostName Soweit hab ich mir das mal gedacht aber ich scheitere daran. Vielleicht sieht wer von euch wo es hackt ? Danke nochmals LG Zitieren Link zu diesem Kommentar
magman 10 Geschrieben 26. März 2012 Melden Teilen Geschrieben 26. März 2012 Hi Gut kopiert ist halb studiert! Es gibt soviele kostenlose Netzwerkscaner die dir die Infos lieferen können das man das Rad nicht neu erfinden muss. gruß Martin Zitieren Link zu diesem Kommentar
schreckinger 10 Geschrieben 26. März 2012 Autor Melden Teilen Geschrieben 26. März 2012 Hi Gut kopiert ist halb studiert! Es gibt soviele kostenlose Netzwerkscaner die dir die Infos lieferen können das man das Rad nicht neu erfinden muss. gruß Martin Hallo danke für deine Antwort. Ja das ist mir bewusst möchte aber einfach wegen dem Lerneffekt so ein Tool schreiben. Danke Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 26. März 2012 Melden Teilen Geschrieben 26. März 2012 Hallo Schreckinger, einfach hier einen kopierten Code ohne Quellenangabe reinzuwerfen und zu fragen, woran es ha©kt, führt zu nichts! Wenn du ganz konkret nicht weiterkommst, dann kannst du gerne den entsprechenden Codeausschnitt mit deiner Frage hier posten. Damit du auch etwas lernst, geb ich dir mal ein paar Regeln mit, die du bitte ab jetzt beherzigst: (gelten aber nur für dich!) - kein kopierter Code ohne Quellenangabe mehr - keine Frage zu Code, ohne dass die auf die notwendigen Informationen gekürzte Ausgabe dabei steht - keine Codeschnippsel länger 5 Zeilen mehr in einem Post - idealerweise benützt du Kommentare, die zählen natürlich nicht zu den 5 codezeilen dazu. - keine Pauschal-Fragen mehr wie "warum hakt es", sondern eine Beschreibung, was du bisher probiert hast und was du nicht verstehst. Wenn du diese Regeln beherzigst, dann ist dir selbst am meisten geholfen. Ich werde auf die Einhaltung dieser Regeln bei dir achten und eventuell Posts ggf. schließen Danke für Dein Verständnis blub Zitieren Link zu diesem Kommentar
schreckinger 10 Geschrieben 26. März 2012 Autor Melden Teilen Geschrieben 26. März 2012 Hallo Schreckinger, einfach hier einen kopierten Code ohne Quellenangabe reinzuwerfen und zu fragen, woran es ha©kt, führt zu nichts! Wenn du ganz konkret nicht weiterkommst, dann kannst du gerne den entsprechenden Codeausschnitt mit deiner Frage hier posten. Damit du auch etwas lernst, geb ich dir mal ein paar Regeln mit, die du bitte ab jetzt beherzigst: (gelten aber nur für dich!) - kein kopierter Code ohne Quellenangabe mehr - keine Frage zu Code, ohne dass die auf die notwendigen Informationen gekürzte Ausgabe dabei steht - keine Codeschnippsel länger 5 Zeilen mehr in einem Post - idealerweise benützt du Kommentare, die zählen natürlich nicht zu den 5 codezeilen dazu. - keine Pauschal-Fragen mehr wie "warum hakt es", sondern eine Beschreibung, was du bisher probiert hast und was du nicht verstehst. Wenn du diese Regeln beherzigst, dann ist dir selbst am meisten geholfen. Ich werde auf die Einhaltung dieser Regeln bei dir achten und eventuell Posts ggf. schließen Danke für Dein Verständnis blub Hallo Blub ich werde diese Regel beherzigen. und entschuldige mich für diesen Post in der Früh. Ich hatte nicht die Zeit den Post zubeschreiben. lg Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.