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
GELÖST

Powershell - locale Problem bei get-date

Frage Entwicklung Batch & Shell

Mitglied: rana-mp

rana-mp (Level 1) - Jetzt verbinden

17.06.2011 um 13:02 Uhr, 7237 Aufrufe, 5 Kommentare

Wie kann ich bei Uebergeben eines Datums als String an get-date angeben in welchem Format das Datum ist?

Hallo zusammen,

ich mache in der Powershell folgende Zuweisung:

01.
$datum = get-date "10.06.2011"
Grundsaetzlich funktioniert das gut, der String wird in ein Date-Time Objekt umgewandelt mit dem ich dann weiterarbeiten kann. Ich habe jetzt aber das Problem, das auf dem System auf dem das script laufen soll, auf englisch (US-EN) ist, also auch das englische Datumsformat in der Systemsteuerung definiert ist. Das kann ich nicht aendern.
Powershell interpretiert mir den String also als Datum im amerikanischem Format als mm.dd.yyyy.
Da die Strings die ich dem Script uebergebe das Datum aber im deutschen Format dd.mm.yyyy enthalten, bekomme ich im besten Fall eine Fehlermeldung (wenn ich zB 14.06.2011 uebergebe) oder falsche Werte wenn ich mit dem Datum arbeiten will, zB. wenn ich $datum.dayofyear aufrufe.

In der Powershell Dokumentation habe ich leider nicht gefunden wie ich bei einer solchen Zuweisung das Format angeben kann. Ich habe einige Sachen mit -uformat und -format getestet, aber leider funktioniert es nicht.


Gruss,

rana-mp
Mitglied: Friemler
17.06.2011 um 13:14 Uhr
Hallo rana-mp,

schau mal hier nach.

Gruß
Friemler
Bitte warten ..
Mitglied: rana-mp
17.06.2011 um 13:44 Uhr
Hallo Friemler,

Leider hilft mir das nicht so richtig weiter. Die Datumsformatierungen scheinen wohl nur bei der Ausgabe eines Datums zu greifen. Das hilft dann leider nicht wenn schon bei der Eingabe das Datum flasch vom System interpretiert wird.

Wenn ich zB. dieses versuche:

01.
get-date  "14.11.2011" -format "dd.MM.yyyy"
bekomme ich eine Fehlermeldung:
01.
Get-Date : Cannot bind parameter 'Date'. Cannot convert value "14.11.2011" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
Bei einem Datum wie zB. dem 10.06.2011 bekomm ich keine Fehlermeldung, aber wenn ich das Datum dann ausgebe ist, wird 06.10.2011 draus:

01.
PS C:\Users\XXX> get-date "10.06.2011"  -format "dd.MM.yyyy"  
02.
06.10.2011
Das heist ja im Endeffekt das der -format Befehl sich scheinbar nur auf die Ausgabe bezieht, er den Input aber immer anhand der eingestellten locale interpretiert. Stelle ich diese auf DE um funktioniert es richtig. Leider kann ich das nicht machen, es laufen einige Anwendungen auf dem Server die auf die korrekte locale angewiesen sind.


Gruss,

rana-mp
Bitte warten ..
Mitglied: Logan000
17.06.2011 um 14:22 Uhr
Moin moin

Wie wäre es so:
01.
$deDate = "10.06.2011"      
02.
$usDate = $deDate.substring(3,2) + "." + $deDate.substring(0,2) + "." + $deDate.substring(6,4) 
03.
Get-date $usDate
Gruß L.
Bitte warten ..
Mitglied: Friemler
17.06.2011 um 14:31 Uhr
Hallo rana-mp,

wenn Du genau weißt, dass es sich immer um Datumswerte im deutschen mm.tt.jjjj-Format handelt, bleibt dann wohl nichts anderes übrig, als die Datumswerte "zu Fuß" zu zerlegen und mit den Parametern -Month, -Day und -Year zuzuweisen:
$datum = get-date -month 6 -day 17 -year 2011
Gruß
Friemler


[EDIT]
Zu langsam.
[/EDIT]
Bitte warten ..
Mitglied: rana-mp
17.06.2011 um 14:48 Uhr
OK, danke

Das macht mein script zwar nicht schoener, aber was solls, es muss funktionieren...


Gruss,

rana-mp
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung
gelöst Frage von RippchenBatch & Shell6 Kommentare

Hallo, ich verwende folgendes Skript zur Stapelverarbeitung von CSV Dateien: In den zu bearbeitenden CSV Dateien liegt das Datumsformat ...

Batch & Shell
Powershell Get-Hotfix Script
Frage von u0206084Batch & Shell3 Kommentare

Hallo Kollegen, ich möchte die Hotfixes der Server auslesen hierzu , habe ich verschiedene Powershellscripte gefunden. Script 1: (Funktioniert ...

Windows 7
Powershell Get-WMIObject
gelöst Frage von chrrs83Windows 711 Kommentare

Hiho, und die besten grüße aus Braunschweig. Ich bastel mir imo ein kleines Tool (GUI), das folgendes können muss: ...

Batch & Shell
Powershell get-winevent Syntaxfrage
gelöst Frage von DerWoWussteBatch & Shell10 Kommentare

Servus Skriptingprofis! Ich möchte das Sicherheitseventlog filtern und nur folgendes anzeigen lassen: EventID 4656 SubjectUserName mustermann Objectname d:\test (also ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 StundeWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 3 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...