Replace Befehl in Ausgabe
Hallo Zusammen,
Ich würde gern eine Abfrage aller installierten Drucker starten, mit abschließender Abfrage, auf welchem alle bestehenden Druckjobs gelöscht werden sollen.
Ich habe ein Problem beim replace meiner Ausgabe aller installierten Drucker und dem Löschen aller Jobs
Ich würde gern eine Abfrage aller installierten Drucker starten, mit abschließender Abfrage, auf welchem alle bestehenden Druckjobs gelöscht werden sollen.
Ich habe ein Problem beim replace meiner Ausgabe aller installierten Drucker und dem Löschen aller Jobs
$printer = Get-WmiObject Win32_Printer | Select-Object name
for($i=1; $i -lt $printer.count;$i++){
"$($i): $($printer[$i])"} %{ $_ -replace "@{name=}","" }
$printer[$iN]
$iNi = $printer[$iN]
Remove-PrintJob -PrinterName "Using:Ini" -ID 1
Please also mark the comments that contributed to the solution of the article
Content-Key: 3484993362
Url: https://administrator.de/contentid/3484993362
Printed on: April 24, 2024 at 07:04 o'clock
7 Comments
Latest comment
Servus.
Oder wenn man es auf die althergebrachte Art machen möchte (Ohne Printer-CMDLets) mit den WMI/CIM CMDLets geht es natürlich auch
Grüße Uwe
Zitat von @dispatcher:
Ich würde gern eine Abfrage aller installierten Drucker starten, mit abschließender Abfrage, auf welchem alle bestehenden Druckjobs gelöscht werden sollen.
Dafür gibt es einen wunderschönen Einzeiler, da muss man nicht hin und her replacen ... Ich würde gern eine Abfrage aller installierten Drucker starten, mit abschließender Abfrage, auf welchem alle bestehenden Druckjobs gelöscht werden sollen.
Get-Printer | Out-GridView -Passthru -Title "Einen oder mehrere Drucker für das Löschen aller seiner Druckjobs auswählen" | Get-Printjob | Remove-Printjob
Get-CimInstance win32_Printer | Out-GridView -Passthru -Title "Einen oder mehrere Drucker für das Löschen aller seiner Druckjobs auswählen" | %{$printer = $_;Get-CimInstance win32_Printjob | ?{$_.Name.split(',') -eq $printer.Name} | Remove-CimInstance}
Bei mir klappt das:
PS G:\> "@{name=\\server\drucker}" -replace '(@{name=)(.*)(})','$2'
\\server\drucker
Zitat von @erikro:
Bei mir klappt das:
Bei mir klappt das:
PS G:\> "@{name=\\server\drucker}" -replace '(@{name=)(.*)(})','$2'
\\server\drucker
Macht aber ehrlich gesagt keinen Sinn hier die String-Interpretation eines PS-Objects zu bearbeiten die er wegen folgender Zeile bekommt
$printer = Get-WmiObject Win32_Printer | Select-Object name
$printer = Get-WmiObject Win32_Printer | Select-Object -ExpandProperty name
Für den TO bleibt dann nur noch eine Empfehlung
Powershell Leitfaden für Anfänger
Grüße Uwe
Zitat von @colinardo:
Macht aber ehrlich gesagt keinen Sinn hier die String-Interpretation eines PS-Objects zu bearbeiten die er wegen folgender Zeile bekommt
Zitat von @erikro:
Bei mir klappt das:
Bei mir klappt das:
PS G:\> "@{name=\\server\drucker}" -replace '(@{name=)(.*)(})','$2'
\\server\drucker
Macht aber ehrlich gesagt keinen Sinn hier die String-Interpretation eines PS-Objects zu bearbeiten die er wegen folgender Zeile bekommt
Da hast Du vollkommen recht.