Hey tweakers!
Ik ben op zoek naar een stukje software dat me toelaat om te zien welke printers er op een computer op m'n netwerk zitten. Het zit namelijk zo, we zijn bezig met onze oude printserver te vervangen door een iets meer hedendaags beestje. Na een groot deel van de migratie aan de client-kant blijkt dat een aantal pc's die reeds hadden aangepast moeten zijn, toch nog z'n prints blijkt door te sturen naar de oude server.
Ik ben nu op zoek naar een manier om van de pc's op te lijsten welke de lokaal geïnstalleerde printers zijn. Na een half uurtje googlen was ik enkele scriptjes tegengekomen die dit soort zaken zou moeten klaren zoals bijvoorbeeld:
:: ===============
:: READ THIS FIRST
:: ===============
:: * This script require "Computers.txt" file on C: drive root from where it will read computer names.
:: * Successful run will generate "PrintersReport.txt" file on C: drive root
:: * Copy and paste following script in notepad and save it with any name having .cmd extension.
:: *** SCRIPT START ***
@Echo Off
SetLocal EnableDelayedExpansion
IF NOT EXIST C:\Computers.txt Goto ShowErr
FOR %%R IN (C:\Computers.txt) Do IF %%~zR EQU 0 Goto ShowErr
IF EXIST C:\PrintersReport.txt DEL /F /Q C:\PrintersReport.txt
FOR /F "delims=*" %%c IN ('Type C:\Computers.txt') Do (
Echo Processing: %%c
Echo ------------------------------------->>C:\PrintersReport.txt
Echo Printers installed on %%c: >>C:\PrintersReport.txt
Echo ------------------------------------->>C:\PrintersReport.txt
SET Qry=WMIC /Node:"%%c" Printer WHERE "Default=True" GET NAME /Value ^| FIND /I "Name="
FOR /F "Delims== Tokens=2" %%p IN ('!Qry!') Do (SET DPrinter=%%p)
SET Qry=WMIC /Node:"%%c" Printer GET NAME /Value ^| FIND /I "Name="
FOR /F "Delims== Tokens=2" %%p IN ('!Qry!') Do (
IF "!DPrinter!"=="%%p" (
Echo %%p ^(Default^)>>C:\PrintersReport.txt) ELSE (
Echo %%p >>C:\PrintersReport.txt)
)
)
Goto EndScript
:ShowErr
Echo "C:\Computers.txt" file does not exist or file is empty!
:EndScript
ENDLOCAL
:: Batch Script End
Dit blijkt echter op mijn pc foutloos te werken, echter wanneer ik het met mijn adminaccount vanaf mijn pc op de remote pc's laat uitvoeren krijg ik geen data, nochtans staat Windows Firewall op al deze toestellen uitgeschakeld.
Kennen jullie een ander stukje software, of hebben jullie een idee wat er mis zou kunnen gaan? De output van het script is telkens het volgende:
Processing: spoed014
Knooppunt - spoed014
Fout:
Code = 0x800706ba
Beschrijving = De RPC-server is niet beschikbaar.
Faciliteit = Win32
Knooppunt - spoed014
Fout:
Code = 0x800706ba
Beschrijving = De RPC-server is niet beschikbaar.
Faciliteit = Win32
(Aan de naam van de pc alleen al kunnen jullie waarschijnlijk wel al afleiden waarom we liever niet overal lokaal gaan kijken
)
Vervolgens wordt dit weggeschreven:
Printers installed on spoed014:
-------------------------------------
-------------------------------------
Als jullie een stukje software kennen dat dit kan, heb ik daarvoor wel voorkeur, maar andere suggesties zijn ook welkom hoor.
Alvast al heel hard bedankt!
Ik ben op zoek naar een stukje software dat me toelaat om te zien welke printers er op een computer op m'n netwerk zitten. Het zit namelijk zo, we zijn bezig met onze oude printserver te vervangen door een iets meer hedendaags beestje. Na een groot deel van de migratie aan de client-kant blijkt dat een aantal pc's die reeds hadden aangepast moeten zijn, toch nog z'n prints blijkt door te sturen naar de oude server.
Ik ben nu op zoek naar een manier om van de pc's op te lijsten welke de lokaal geïnstalleerde printers zijn. Na een half uurtje googlen was ik enkele scriptjes tegengekomen die dit soort zaken zou moeten klaren zoals bijvoorbeeld:
:: ===============
:: READ THIS FIRST
:: ===============
:: * This script require "Computers.txt" file on C: drive root from where it will read computer names.
:: * Successful run will generate "PrintersReport.txt" file on C: drive root
:: * Copy and paste following script in notepad and save it with any name having .cmd extension.
:: *** SCRIPT START ***
@Echo Off
SetLocal EnableDelayedExpansion
IF NOT EXIST C:\Computers.txt Goto ShowErr
FOR %%R IN (C:\Computers.txt) Do IF %%~zR EQU 0 Goto ShowErr
IF EXIST C:\PrintersReport.txt DEL /F /Q C:\PrintersReport.txt
FOR /F "delims=*" %%c IN ('Type C:\Computers.txt') Do (
Echo Processing: %%c
Echo ------------------------------------->>C:\PrintersReport.txt
Echo Printers installed on %%c: >>C:\PrintersReport.txt
Echo ------------------------------------->>C:\PrintersReport.txt
SET Qry=WMIC /Node:"%%c" Printer WHERE "Default=True" GET NAME /Value ^| FIND /I "Name="
FOR /F "Delims== Tokens=2" %%p IN ('!Qry!') Do (SET DPrinter=%%p)
SET Qry=WMIC /Node:"%%c" Printer GET NAME /Value ^| FIND /I "Name="
FOR /F "Delims== Tokens=2" %%p IN ('!Qry!') Do (
IF "!DPrinter!"=="%%p" (
Echo %%p ^(Default^)>>C:\PrintersReport.txt) ELSE (
Echo %%p >>C:\PrintersReport.txt)
)
)
Goto EndScript
:ShowErr
Echo "C:\Computers.txt" file does not exist or file is empty!
:EndScript
ENDLOCAL
:: Batch Script End
Dit blijkt echter op mijn pc foutloos te werken, echter wanneer ik het met mijn adminaccount vanaf mijn pc op de remote pc's laat uitvoeren krijg ik geen data, nochtans staat Windows Firewall op al deze toestellen uitgeschakeld.
Kennen jullie een ander stukje software, of hebben jullie een idee wat er mis zou kunnen gaan? De output van het script is telkens het volgende:
Processing: spoed014
Knooppunt - spoed014
Fout:
Code = 0x800706ba
Beschrijving = De RPC-server is niet beschikbaar.
Faciliteit = Win32
Knooppunt - spoed014
Fout:
Code = 0x800706ba
Beschrijving = De RPC-server is niet beschikbaar.
Faciliteit = Win32
(Aan de naam van de pc alleen al kunnen jullie waarschijnlijk wel al afleiden waarom we liever niet overal lokaal gaan kijken
Vervolgens wordt dit weggeschreven:
Printers installed on spoed014:
-------------------------------------
-------------------------------------
Als jullie een stukje software kennen dat dit kan, heb ik daarvoor wel voorkeur, maar andere suggesties zijn ook welkom hoor.
Alvast al heel hard bedankt!