Listen Sie Drucker von der Befehlszeile in eine Textdatei auf
Gibt es einen Befehl, der über die Befehlszeile verwendet werden kann, um eine Liste der installierten Drucker und ihren Speicherort, falls dieser einer Textdatei zugeordnet ist, auszugeben? Oder vielleicht ein Programm, das ich über die Befehlszeile ausführen kann, das dies tun würde?
8 answers
In Windows XP verwenden prntmngr:
PRNMNGR -l >> C:\printers.txt
In Windows XP SP3 Vista und darüber hinaus (Sie müssen Powershell v1 manuell installieren), verwenden PowerShell:
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
Hinweis: Möglicherweise wird eine Fehlermeldung angezeigt, wenn Sie versuchen, die Datei in C:\ unter Vista+ zu schreiben, abhängig von Ihren Rechten und der Art, wie PowerShell erstellt wurde.
Für Windows 2000:
Die Datei PrnMngr.vbs
von XP (befindet sich im Ordner /Windows/System32
) funktioniert unter Windows 2000. Suchen und kopieren Sie es einfach von einem XP-Computer auf den 2000-Computer und führen Sie es aus mit:
cscript prnmngr.vbs -l >> c:\printers.txt
Ich fand, dass es aus irgendeinem Grund nicht vom Desktop meines Benutzers ausgeführt werden würde, aber als ich das kopierte .VBS an die Wurzel von C: Es lief gut.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-09-20 15:46:26
Ich benutze:
wmic printer list brief
ODER
wmic printer get name
Dies zeigt nur eine kurze Liste der Drucker, die an das System angeschlossen sind, auf dem Sie den Befehl ausführen. Es wird auch angezeigt, an welchen Computer ein Drucker angeschlossen ist, wenn ein Netzwerkdrucker vorhanden ist.
Sie können dies auch verwenden, um eine sehr detaillierte Konfigurationsliste für jeden auf einem System installierten Drucker abzurufen:
wmic printer list full
Um es in eine Textdatei auszugeben, hängen Sie es an das Ende des Befehls an:
>>"[directory]\[filename].txt"
Beispiel:
wmic printer list brief >> c:\users\admin\documents\printerlist.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-02-19 10:10:34
Manchmal möchten Sie PS in win7 nicht verwenden (ich habe eine Anwendung, mit der ich administrative Arbeiten im Hintergrund auf Remote-PCs ausführen kann, aber Powershell nicht). Die genannten XP Visual Basic Skripte finden Sie im folgenden Ordner für Win7:
C:\Windows\System32\Printing_Admin_Scripts\en-US
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-22 23:48:56
Ab Windows 8 / Server 2012 gibt es ein get-printer
PowerShell Cmdlet:
Https://technet.microsoft.com/en-us/library/hh918358%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-03 19:56:20
Hinweis: Für Windows XP müssen Sie zuerst den Standard-Skript-Host in CScript ändern
C:\CScript //H:CScript
Andernfalls erhalten Sie eine Nachricht, die Sie und Ihre Drucker dazu auffordert.txt-Datei wird leer sein.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-22 23:48:49
In PowerShell ISE Sie können dies ausführen, um eine Liste aller installierten Drucker anzuzeigen.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters
Siehe die dot.net PrinterSettings.InstalledPrinters Eigenschaft für weitere Informationen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-25 19:51:03
Da WMI abgeschrieben wird, werde ich CIM in Powershell verwenden:
Get-CIMInstance CIM_Printer | Format-Table Name,SystemName,ShareName >>printers.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-09-20 15:44:59
Das ist also meine Lösung (in AutoHotkey):
;******************
;ALLOCATING CONSOLE
;******************
; cmd calls hidden
global cPid
DetectHiddenWindows, on
Run, %comspec% /k ,,Hide UseErrorLevel,cPid
WinWait, ahk_pid %cPid%,, 1
DllCall("AttachConsole","uint",cPid)
hCon:=DllCall("CreateFile","str","CONOUT$","uint",0xC0000000,"uint",7,"uint",0,"uint",3,"uint",0,"uint",0)
;******* GET PRINTER NAMES **********
AllPrintersNameClearArray := strSplit(StrReplace(StrReplace(StrReplace(StrReplace("|" StrReplace(StrReplace(StrReplace(RunWaitOne("wmic printer get name")," ","")," `r",""),"`r",""),"|NAME`n",""),"`n","|"),"||","",All),"|","`n"),"`n")
RunWaitOne(command) {
objShell := ComObjCreate("WScript.Shell")
objExec := objShell.Exec(command)
strStdOut := ""
while, !objExec.StdOut.AtEndOfStream
strStdOut := objExec.StdOut.ReadAll()
return %strStdOut%
}
; **** Clean at the end *****
Finish:
DllCall("CloseHandle", "uint", hCon)
DllCall("FreeConsole")
Process, Close, %cPid%
ExitApp
return
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-09-20 15:47:27