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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3484993362
Url: https://administrator.de/contentid/3484993362
Ausgedruckt am: 24.11.2024 um 06:11 Uhr
7 Kommentare
Neuester Kommentar
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.