Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell String mit Groß- und Kleinschreibung

Mitglied: saesch82

saesch82 (Level 1) - Jetzt verbinden

23.08.2019, aktualisiert 11:09 Uhr, 282 Aufrufe, 5 Kommentare

Hallo

Ich möchte gerne eine Druckermigration durchführen und haben ein entsprechendes Powershell Skript, welches die Drucker ausliest, den Standarddrucker erkennt, die Drucker löscht, neu einbindet unrd den standaddrucker wieder setzt.
Bei der Einbindung der neuen Drucker wird der alte Druckerserver entfernt und der neue gesetzt.

Jetzt habe ich festgestellt, dass der alte Druckerserver verschiedenst geschrieben wurde:
Server01
SERVER01
server01

Es kann sein, dass es noch weitere Schreibweisen gibt und ich finde keine Lösung, wie alle Schreibweisen in der Quelle beachten kann.
Aktuell löse ich es so, dass ich das Skript einfach dreimal hintereinander ablaufen lasse, mit verschiedener Schreibweise des Quellservers. Es kann aber sein, dass es noch andere Schreibweisen gibt.
Hier das Skript:

$old_printserver = "Server01"
$new_printserver = "server02"

  1. Alle Drucker auslesen, die als Netzwerkdrucker markiert sind und in ein Array speichern.
$printers = @(Get-WMIObject Win32_Printer | where{$_.network -eq "true"} | Select-Object -expandProperty Name)


  1. Standarddrucker auslesen und in eine Variable speichern
$default_printer = Get-WMIObject Win32_Printer | where{$_.default -eq "true"} | Select-Object -expandProperty Name


  1. Alle Drucker löschen, die im Array stehen.
foreach($element in $printers) { (New-Object -ComObject WScript.Network).RemovePrinterConnection("$element") }


  1. Neue Drucker anlegen, welche im Array stehen.
$printer = [WMIClass]"\\.\root\cimv2:Win32_Printer"
foreach($element in $printers) { $printer.AddPrinterConnection($element.replace("$old_printserver", "$new_printserver")) }


  1. Standarddrucker wieder definieren
$default_printer = $default_printer.replace("$old_printserver", "$new_printserver")

$printer = Get-WmiObject Win32_Printer | ? { $_.name -like "*$default_printer*"}
$printer.SetDefaultPrinter()

$old_printserver = "SERVER01"
$new_printserver = "server02"
.
.
.

$old_printserver = "server01"
$new_printserver = "server02"


Könnt Ihr mich unterstützen und mir eine Hilfestellung geben, wie ich das case sensitiv in $old_printserver = "[servername]" "ausschalten" kann?

Vielen Dank!

Beste Grüße
Saesch
Mitglied: Kraemer
23.08.2019 um 10:41 Uhr
Moin,

01.
$element -replace("$old_printserver", "$new_printserver")
Bitte warten ..
Mitglied: saesch82
23.08.2019 um 10:57 Uhr
Hallo Kraemer

Und das ignoriert die Schreibweise der Quelle, also $old_printserver?
Beispiel:

$old_printserver = "server01" erkennt ja nur [drucker] on server01 und nicht [drucker] on SERVER01.

Oder verstehe ich bei
$element -replace("$old_printserver", "$new_printserver")
was falsch?

Danke!
Bitte warten ..
Mitglied: Kraemer
23.08.2019 um 11:03 Uhr
Man man man ist das so schwer ne Konsole aufzumachen?

01.
PS > $a="Hallo"
02.
PS > $a.replace("hallo","hi")
03.
Hallo
04.
PS > $a -replace("hallo","hi")                                                                          
05.
hi
-replace nutzt regex
Bitte warten ..
Mitglied: psuser
23.08.2019, aktualisiert um 11:36 Uhr
Grüezi wohl.
Zitat von Kraemer:
01.
$element -replace("$old_printserver", "$new_printserver")
Wenn man das so macht sollte man dann aber auch Regex-Sonderzeichen im Namen escapen
01.
$element -replace [regex]::Escape($old_printserver), $new_printserver
Alternativ geht's auch indem man die Strings vorher in Klein- oder Großbuchstaben konvertiert
01.
$element.toLower().replace($old_printserver.toLower(),$new_printserver)
Bitte warten ..
Mitglied: Kraemer
23.08.2019 um 11:53 Uhr
Zitat von psuser:
Wenn man das so macht sollte man dann aber auch Regex-Sonderzeichen im Namen escapen
naja - eigentlich sollte man die nutzen, um sicher zu stellen, dass man auch wirklich den Servernamen replaced

01.
$a="server"
02.
$b="\\Server\Server"
03.
$b -replace "^\\\\$a\\","\\NAS\"
04.
\\NAS\Server
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell matching string
gelöst Frage von noname69Batch & Shell7 Kommentare

Moin Entwickler, bin derzeit dabei, zwei txt Dateien zu analysieren. Die eine ist (namentlich) zeitlich gesehen der Vorgänger und ...

Batch & Shell
Powershell String formatieren
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, ich habe ein Skript das einen Netzwerkswitch ausliest. Das hat bis dato auch funktioniert, aber mit einem Firmwareupdate ...

Batch & Shell
Powershell - PDF - String - Durchsuchen?
gelöst Frage von ZZaaiiggaaBatch & Shell7 Kommentare

Hallo zusammen, vielen Dank für die Hilfe die ich hier bereits erhalten habe! Es werden PDFs eingelesen und diese ...

Batch & Shell
Powershell select-string -pattern
gelöst Frage von LianenSchwingerBatch & Shell2 Kommentare

Hallo, ich muss auf die schnelle ca. 1000 EDIFACT Dateien auswerten. Dazu versuche ich mich gerade in Powershell einzuarbeiten. ...

Neue Wissensbeiträge
Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 2 TagenVoice over IP6 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Apple

Apple Special Event vom 10.09.2019: Arcade, TV+, iPad und iPadOS, Watch und iPhone 11

Information von Trontur vor 3 TagenApple2 Kommentare

Hier könnt ihr euch die Keynote von Tim Cook auf dem Apple Special Event vom 10.09.2019 anschauen: September Event ...

LAN, WAN, Wireless

Das RIPE ist quasi endgültig leer was IPv4 angeht

Information von LordGurke vor 11 TagenLAN, WAN, Wireless8 Kommentare

Das RIPE teilt mit, dass sie erwarten, Ende des Jahres keine /22-IPv4-Allocations (1.024 Adressen) mehr vergeben zu können. Dann ...

Verschlüsselung & Zertifikate

Ein besserer Weg zur Delegation of Control für Bitlocker Recoverykeys

Anleitung von DerWoWusste vor 11 TagenVerschlüsselung & Zertifikate

Will man Supportmitarbeitern ermöglichen, Bitlocker-Recoverykeys auszulesen, dann bietet sich eigentlich der Delegation of Control Wizard an. Ich zeige zunächst ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2013 nach Umzug nicht erreichbar
gelöst Frage von dbox3Exchange Server17 Kommentare

Hallo, die Lösung für mein Problem mag einfach sein. Nur stehe ich irgendwie auf dem Schlauch. ich habe einen ...

Hyper-V
Umzug Hyper-V mit VM in anderen Netzwerkabschnitt
gelöst Frage von keine-ahnungHyper-V9 Kommentare

Moin at all, ich habe leider den Freitag verpennt - daher meine obligate Freitagsfrage erst jetzt Ich habe einen ...

Windows 10
Windows 10 ( upgrade per media creator von win7 ) hat keine Systemwiederherstellung
gelöst Frage von knirschkeWindows 108 Kommentare

Hallo ! Habe letztlich mein Win7 auf Win10 aufgepeppt per Media Creator. Ging - obzwar recht spät - ganz ...

Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server7 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...