Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen,

ich bin gerade auf der Suche nach einer Lösung zu folgendem Thema.

Es geht darum Netzwerkdrucker die über einen Printserver freigegeben werden, automatisiert zu inventarisieren.

Eine Plattform für die Inventarisierung besteht bereits ich suche jetzt nur nach einer Lösung wie ich beispielsweise über ein VBScript an alle Druckerdaten komme. Gibt es eine Möglichkeit via VBScript die Druckerdaten beispielsweise aus einem Printserver auszulesen und in eine CSV schreiben zu lassen?

Ich brauche folgende Daten:

- Hostname

- IP

- MAC

- Seriennummer

- Modellbezeichnung

Falls da jemand eine Idee hat, wäre Super.

Vielen Dank vorab :)

  • 2 Wochen später...
Geschrieben

Teste folgenden Quellcode:

# Create new Excel workbook

$Excel = new-Object -comobject Excel.Application

$Excel.visible = $True

$Excel = $Excel.Workbooks.Add()

$Sheet = $Excel.Worksheets.Item(1)

$Sheet.Cells.Item(1,1) = "Printserver Name"

$Sheet.Cells.Item(1,2) = "Printer Name"

$Sheet.Cells.Item(1,3) = "Location"

$Sheet.Cells.Item(1,4) = "Comment"

$Sheet.Cells.Item(1,5) = "IP Address"

$Sheet.Cells.Item(1,6) = "Driver Name"

$Sheet.Cells.Item(1,7) = "Shared"

$Sheet.Cells.Item(1,8) = "Share Name"

$intRow = 2

$WorkBook = $Sheet.UsedRange

$WorkBook.Font.Bold = $True


# Set print server name

$inifile = get-content <Pfad>server.ini

foreach ($line in $inifile)

{

	# Get printer information

	$Printers = Get-WMIObject Win32_Printer -computername $line

	foreach ($Printer in $Printers)

	{

		$Sheet.Cells.Item($intRow, 1) = $line

		$Sheet.Cells.Item($intRow, 2) = $Printer.Name

		$Sheet.Cells.Item($intRow, 3) = $Printer.Location

		$Sheet.Cells.Item($intRow, 4) = $Printer.Comment

		$Ports = Get-WmiObject Win32_TcpIpPrinterPort -computername $line

			foreach ($Port in $Ports)

			{

				if ($Port.Name -eq $Printer.PortName)

				{

				$Sheet.Cells.Item($intRow, 5) = $Port.HostAddress

				}

			}

		$Sheet.Cells.Item($intRow, 6) = $Printer.DriverName

		$Sheet.Cells.Item($intRow, 7) = $Printer.Shared

		$Sheet.Cells.Item($intRow, 8) = $Printer.ShareName

		$intRow = $intRow + 1

	}

}

$WorkBook.EntireColumn.AutoFit()

Die Server.ini enthält einfach alle Hostnames der Printserver. Ein name pro Zeile.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...