Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Auflistung aller Computer im Netzwerk

$
0
0

Hallo zusammen!

Ich möchte mir mit Powershell alle Computer ausgeben, die zurzeit im Netzwerk online sind. Verschiedene Versuche führen allerdings zu unterschiedlichen Ergebnissen...

In einer Domäne kann ich das mithilfe des Active-Directory-Moduls von Microsoft oder Quest erledigen, allerdings möchte ich auf der einen Seite nur ungern extra ein Modul laden müssen und auf der anderen Seite suche ich nach einer allgemeinen Lösung für Netzwerke, also unabhängig von AD/Domain.

Probiert habe ich bereits net view, wobei mich die zusätzlichen Beschreibungen und Backslashs stören. Um diese zu entfernen nutze ich folgenden Befehl:

FOR /F "skip=3 delims=\	 " %%A IN ('NET VIEW') DO @ECHO %%A >> U:\computers.txt

Den Code speichere ich in einer .bat, die ich per PS aufrufe, da PS nachdem "FOR" eine Klammer erwartet. Wenn ich im Anschluss die Anzahl mit (Get-Content computers.txt | measure).Count auslese, komme ich auf eine andere Anzahl als wenn ich mir per Windows-Explorer --> Netzwerk alle Computer anzeigen lasse. Dort sind es immer mehr. Auch wenn ichnet view ohne Kürzungen ausführe, erreiche ich nicht die Anzal des Explorers. Eine andere Lösung, die ich gefunden habe basiert auf System.DirectoryServices.DirectoryEntry bzw. System.DirectoryServices.DirectorySearcher, wobei die Anzahl dort immer 1000 ist. Scheint auch nicht zu passen. Code dazu:

$strCategory = "computer"

$objDomain = New-Object System.DirectoryServices.DirectoryEntry

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.Filter = ("(objectCategory=$strCategory)")

$colProplist = "name"
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}

$colResults = $objSearcher.FindAll()

foreach ($objResult in $colResults)
    {$objComputer = $objResult.Properties; $objComputer.name}

Ich habe gelesen, dass net view nicht alle Computer findet, weil diese dafür konfiguriert sein müssen und das bei manchen nicht der Fall ist. Warum zeigen außerdem alle drei Methoden unterschiedliche Anzahlen an?

Mich würde daher interessieren, wo mein Fehler liegt bzw. wie ich eine verlässliche, mit dem Explorer übereinstimmende Liste aus aktiven PCs des Netzwerks generieren kann.

Vielen Dank und Gruß

Scriptex



Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>