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-Fehlermeldung beim Parsen

Mitglied: diemilz

diemilz (Level 1) - Jetzt verbinden

11.10.2018 um 16:53 Uhr, 191 Aufrufe, 5 Kommentare

Hallo zusammen,

da ich noch nicht so sonderlich versiert in PowerShell bin, bitte ich um Nachsicht, wenn ich hier den Wald vor lauter Bäumen nicht sehen sollte.

Ich habe den Auftrag erhalten, ein bereits bestehendes PowerShell-Skript zum Erstellen von SQL-Backups auf unseren Kassensystemen in unseren Außenlokationen anzupassen. Das Skript funktioniert auch soweit, nur bei einer Funktion habe ich ein Problem. Ich poste erstmal den Code der Funktion. Leider darf ich nicht das ganze Skript posten:

01.
Function Backup-Markt {  
02.
    param ( [Parameter(Mandatory=$true)][string]$Source, 
03.
	[Parameter(Mandatory=$true)][string]$Destination, 
04.
    [Parameter(Mandatory=$false)][string]$FileSpec = "*.*", 
05.
    [Parameter(Mandatory=$false)][string]$LoggingPath = $Env:Temp, 
06.
    [Parameter(Mandatory=$false)][string]$LogfileName = "robocopy.log", 
07.
    [switch]$Help) 
08.
  
09.
    $HelpInfo = @' 
10.
  
11.
    Function : Backup-Market 
12.
    Date     : 01/13/2015 
13.
    Purpose  : Performs a backup of folder named $Source to $Destination 
14.
    Usage    : $status = Backup-Market -Source <Path> - Destination <Path> -sourceCredentialsFile <File> -destinationCredentialsFile <File> [-Help] 
15.
               where 
16.
                  $status       will contain a return object with robocopy information, 
17.
                                $status.ExitCode: 
18.
                                -1 = source or destination path does not exist / not accessible 
19.
                                 0 = No Errors and no Copies 
20.
                                 1 = No Errors and new Files Copied 
21.
                                 2 = Warning! Extra Files in Dest. Folder 
22.
                                 4 = Mismatching Files 
23.
                                 8 = Errors on Copying 
24.
                                16 = Error no Copy 
25.
                                $status.StartTime, $status.Source, $status.Destination, $status.FileName, $status.Options 
26.
                  -Source       source folder to backup 
27.
                  -Destination  folder for backing up, will be created if it does not exist 
28.
                  -FileSpec     filename specification for files to copy, ex. *.bak 
29.
                  -LoggingPath  directory to place logfiles in 
30.
                  -LogfileName  filename for logfile, ex. $ID.log 
31.
                  -Help         displays this help information 
32.
  
33.
'@ 
34.
 
35.
	$RoboStatus = New-Object object 
36.
    $enCulture = [Globalization.cultureinfo]::GetCultureInfo("en-US") 
37.
 
38.
	# Create the Backup Destination Folder Based on Date Information 
39.
	If (!(Test-Path $Destination -pathType container)) {  
40.
        Try { 
41.
            $x = mkdir $Destination -ErrorAction Stop 
42.
43.
        Catch { 
44.
            $ExitCode = -1 
45.
46.
47.
	 
48.
	# Testing - Available Return Codes from Robocopy to use in Control the Script Flow using Error Codes 
49.
	$RoboCopyExitCodes = @{0 = "No Errors, no copying"; 1 = "No Errors, new Files"; 2 = "Warning, extra 
50.
	Files"; 4 = "Warning, mismatching Files"; 8 = "Errors, copy errors"; 16 = "ERROR, no copy"} 
51.
	 
52.
	$date = Get-Date -Format yyyy.MM.dd-HH.mm 
53.
	$Logfile = "$LoggingPath\$Logfilename" 
54.
 
55.
	# Copy/Move Folder/Files with Robocopy and Create Logfile + Put Log to a Variable //  /L switch is RoboCopy Test Mode!! 
56.
	# You can fit here the Robocopy Parameters as you want. 
57.
    If ((Test-Path $Source -PathType container) -and (Test-Path $Destination -PathType container)) { 
58.
 
59.
        $robolog = Robocopy """$Source""" """$Destination""" """$FileSpec""" /R:3 /W:100 /NP /TEE /MAXAGE:1 /log:$Logfile 2>&1 
60.
        Write-Host $robolog[0..$robolog.length] 
61.
 
62.
        # Get the Robocopy Exit Code for later Identifying Job Status 
63.
        $ExitCode = $LastExitCode 
64.
		 
65.
		Add-Member -InputObject $RoboStatus -Name ExitCode -Value $ExitCode -MemberType NoteProperty 
66.
		 
67.
		If ((Get-WmiObject Win32_OperatingSystem).OSlanguage = "1031") { 
68.
			# Begin of Parsing Log File / German 
69.
			$robolog[0..$robolog.length] | % { 
70.
			Switch -regex ($_) { 
71.
			**'Gestartet: (.*)' { 
72.
				Add-Member -InputObject $RoboStatus -Name StartTime -Value ($matches[1].trim()) -MemberType NoteProperty 
73.
                [datetime]$StartTime = [datetime]::ParseExact($matches[1].trim(), "ddd MMM dd HH:mm:ss yyyy", $enCulture) 
74.
75.
			'Beendet: (.*)' { 
76.
				Add-Member -InputObject $RoboStatus -Name EndTime -Value ($matches[1].trim()) -MemberType NoteProperty 
77.
                [datetime]$EndTime = [datetime]::ParseExact($matches[1].trim(), "ddd MMM dd HH:mm:ss yyyy", $enCulture) 
78.
                Add-Member -InputObject $RoboStatus -Name Duration -Value $(New-Timespan –Start $StartTime –End $EndTime) -MemberType NoteProperty 
79.
			}** 
80.
			'Quelle : (.*)' { 
81.
				Add-Member -InputObject $RoboStatus -Name Source -Value ($matches[1].trim()) -MemberType NoteProperty 
82.
83.
			'Ziel : (.*)' { 
84.
				Add-Member -InputObject $RoboStatus -Name Destination -Value ($matches[1].trim()) -MemberType NoteProperty 
85.
86.
			'Dateien : (.*)' { 
87.
				Add-Member -InputObject $RoboStatus -Name FileName -Value ($matches[1].trim()) -MemberType NoteProperty 
88.
89.
			'Optionen: (.*)' { 
90.
				Add-Member -InputObject $RoboStatus -Name Options -Value ($matches[1].trim()) -MemberType NoteProperty 
91.
92.
            'Dateien:([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)' { 
93.
                #Total Copied Skipped Mismatch FAILED Extras 
94.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesTotal -Value ($matches[2].trim()) -MemberType NoteProperty 
95.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesCopied -Value ($matches[4].trim()) -MemberType NoteProperty 
96.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesSkipped -Value ($matches[6].trim()) -MemberType NoteProperty 
97.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesMismatch -Value ($matches[8].trim()) -MemberType NoteProperty 
98.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesFailed -Value ($matches[10].trim()) -MemberType NoteProperty 
99.
				Add-Member -InputObject $RoboStatus -Name NumberOfFilesExtras -Value ($matches[12].trim()) -MemberType NoteProperty 
100.
			}              
101.
            'Verzeich.:([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)([\s]*)([0-9]+)' { 
102.
                #Total Copied Skipped Mismatch FAILED Extras 
103.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersTotal -Value ($matches[2].trim()) -MemberType NoteProperty 
104.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersCopied -Value ($matches[4].trim()) -MemberType NoteProperty 
105.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersSkipped -Value ($matches[6].trim()) -MemberType NoteProperty 
106.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersMismatch -Value ($matches[8].trim()) -MemberType NoteProperty 
107.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersFailed -Value ($matches[10].trim()) -MemberType NoteProperty 
108.
				Add-Member -InputObject $RoboStatus -Name NumberOfFoldersExtras -Value ($matches[12].trim()) -MemberType NoteProperty 
109.
			} } }   # End of Parsing Log File 
110.
		} Else { 
111.
			# Begin of Parsing Log File / English 
112.
			$robolog[$StartBegin..$StartEnd] | % { 
113.
			Switch -regex ($_) { 
114.
			'Started :(.*)' { 
115.
			Add-Member -InputObject $RoboStatus -Name StartTime -Value ($matches[1].trim()) -MemberType NoteProperty 
116.
117.
			'Source :(.*)' { 
118.
			Add-Member -InputObject $RoboStatus -Name Source -Value ($matches[1].trim()) -MemberType NoteProperty 
119.
120.
			'Dest :(.*)' { 
121.
			Add-Member -InputObject $RoboStatus -Name Destination -Value ($matches[1].trim()) -MemberType NoteProperty 
122.
123.
			'Files :(.*)' { 
124.
			Add-Member -InputObject $RoboStatus -Name FileName -Value ($matches[1].trim()) -MemberType NoteProperty 
125.
126.
			'Options :(.*)' { 
127.
			Add-Member -InputObject $RoboStatus -Name Options -Value ($matches[1].trim()) -MemberType NoteProperty 
128.
			} }	}   # End of Parsing Log File 
129.
130.
    } Else { 
131.
        $ExitCode = -1 
132.
        Add-Member -InputObject $RoboStatus -Name ExitCode -Value $ExitCode -MemberType NoteProperty 
133.
134.
	 
135.
    Return $RoboStatus 
136.
}
Die betroffenen Zeilen habe ich fett markiert. Hier wird folgender Fehler ausgespuckt:

01.
Ausnahme beim Aufrufen von "ParseExact" mit 3 Argument(en):  "Die Zeichenfolge wurde nicht als gültiges DateTime erkannt." 
02.
In D:\Backup\BackupScript.ps1:178 Zeichen:17 
03.
+ ...             [datetime]$StartTime = [datetime]::ParseExact($matches[1] ... 
04.
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
05.
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException 
06.
    + FullyQualifiedErrorId : FormatException 
07.
 
08.
Ausnahme beim Aufrufen von "ParseExact" mit 3 Argument(en):  "Die Zeichenfolge wurde nicht als gültiges DateTime erkannt." 
09.
In D:\drink.PoS.Pro.Backup\BackupScript.ps1:182 Zeichen:17 
10.
+ ...             [datetime]$EndTime = [datetime]::ParseExact($matches[1].t ... 
11.
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
12.
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException 
13.
    + FullyQualifiedErrorId : FormatException
Die Variable $robolog hat den folgenden Inhalt:

01.
  Protokolldatei: D:\Backup\Logs\10002_robocopy.log  ------------------------------------------------------------------------- 
02.
------    ROBOCOPY     ::     Robustes Dateikopieren für Windows                               --------------------------------------------- 
03.
----------------------------------    Gestartet: Donnerstag, 11. Oktober 2018 16:39:59    Quelle : \\test1\backup\      Ziel : \\NA 
04.
S01\Backup\10002\2018.10.11\      Dateien : *.7z         Optionen: /TEE /DCOPY:DA /COPY:DAT /NP /MAXAGE:1 /R:3 /W:100   -------------- 
05.
----------------------------------------------------------------                           1    \\test1\backup\             Neuer 
06.
  610643        dbbak.7z  ------------------------------------------------------------------------------             Insgesamt   KopiertÜber 
07.
sprungenKeine Übereinstimmung    FEHLER    Extras Verzeich.:         1         0         0         0         0         0   Dateien: 
08.
1         1         0         0         0         0     Bytes:   596.3 k   596.3 k         0         0         0         0    Zeiten:   0:00 
09.
:00   0:00:00                       0:00:00   0:00:00   Geschwindigkeit:             7828756 Bytes/Sek. Geschwindigkeit:             447.965 
10.
 Megabytes/Min.    Beendet: Donnerstag, 11. Oktober 2018 16:39:59
Das Skript generiert eine E-Mail, wo u.a. auch aufgeführt werden soll, wie lange der Kopiervorgang gedauert hat. Das soll durch die Subtraktion der Startzeit von der Endzeit passieren, welche beide aus der Variable rausgezogen werden sollen. Im alten Skript ist der Block 1:1 auch so vorhanden und funktioniert einwandfrei.

Hat jemand eine Idee?

VIelen Dank schonmal im Voraus.

LG Stephan
Mitglied: lummel
11.10.2018, aktualisiert um 17:18 Uhr
'Gestartet: (.*)'
Das ist dein Regex der das Datum capturen soll, fällt dir da nichts auf?
Genau du erfasst zu viel für das Datum (deswegen meckert auch die ParseExact Funktion weil da eben Daten hinter dem Datum sind die es nicht interpretieren kann, dein Log zeigt es dir ja das hinter dem Datum noch ohne Zeilenumbruch kommt:
    Quelle : \\test1\backup\      Ziel : \\NA
, also Regex zuverlässig anpassen das er nur auf Datumswerte passt, btw. das Startdatum braucht man ja eigentlich nicht auslesen das kennt man ja du startest es ja selbst ein get-date hätte also gereicht .

Gruß l
Bitte warten ..
Mitglied: diemilz
11.10.2018 um 19:23 Uhr
Was mich wundert, dass es in der selben Konstellation in der alten Umgebung noch funktioniert hat und die alte Umgebung läuft auf dem gleichen Server. Das Skript habe ich nicht geschrieben, es stammt von unserem alten IT Dienstleister, der allerdings keinerlei Doku darüber erstellt hat. Ist aber ne andere Geschichte.

Mit dem get-date hast du mich aber auf eine interessante Spur gebracht. Ich teste das morgen mal aus. Idealerweise wäre es halt, Start- und Endzeit aus der Robocopy-Ausgabe für die Berechnung zu nehmen, so wie es im alten Konstrukt auch läuft.

Ich melde mich, sobald ich es getestet habe. Vielen Dank schonmal für den Tipp.
Bitte warten ..
Mitglied: diemilz
12.10.2018 um 08:28 Uhr
Ich habe jetzt mal versucht, das mit get-date umzusetzen. Grundsätzlich funktioniert das auch, aber die Ausgabe ist total vermurkst. Das Ganze sieht jetzt wie folgt aus:

01.
$robostart = Get-Date 
02.
robocopy .......... 
03.
$roboend = Get-Date 
04.
$robospantmp = New-Timespan -Start $robostart -End $roboend 
05.
 
06.
$robospan = "($robospantmp.Hours):($robospantmp.Minutes):($robospantmp.Seconds)"
Die Ausgabe von New-Timespan ist diese:

01.
Days              : 0 
02.
Hours             : 0 
03.
Minutes           : 0 
04.
Seconds           : 11 
05.
Milliseconds      : 899 
06.
Ticks             : 118990535 
07.
TotalDays         : 0,00013772052662037 
08.
TotalHours        : 0,00330529263888889 
09.
TotalMinutes      : 0,198317558333333 
10.
TotalSeconds      : 11,8990535 
11.
TotalMilliseconds : 11899,0535
Die Ausgabe der Variable $robospan ist aber diese hier:

01.
(00:00:11.8990535.Hours):(00:00:11.8990535.Minutes):(00:00:11.8990535.Seconds)
Das scheint PowerShell gar nicht wirklich zu interessieren, welche Werte ich abfrage. Oder habe ich wieder einen fundamentalen Denkfehler drin?
Bitte warten ..
Mitglied: lummel
12.10.2018 um 09:11 Uhr
Oder habe ich wieder einen fundamentalen Denkfehler drin?
Jupp.
Bitte warten ..
Mitglied: diemilz
17.10.2018, aktualisiert um 09:03 Uhr
Ok. Hab den Fehler gefunden, bei $robospan habe ich die Dollarzeichen im Aufbau der Variable vergessen. Jetzt bekomme ich die korrekte Ausgabe angezeigt.

Jetzt habe ich ein weiteres Problem:
Das gleiche Skript liest aus einer XML-Datei aus, welche Remote-Lokationen es gibt und welche Kassen dort vorhanden sind. Die Datei sieht wie folgt aus:

01.
<?xml version="1.0" encoding="utf-8"?> 
02.
 
03.
<BackupConfig> 
04.
  <Markt ID="10409"> 
05.
    <description>Lokation I</description> 
06.
	<pos>M</pos> 
07.
	<pos>S</pos> 
08.
	<fileSpec>*.7z</fileSpec> 
09.
  </Markt> 
10.
  <Markt ID="10410"> 
11.
    <description>Lokation II</description> 
12.
	<pos>M</pos> 
13.
	<pos>S</pos> 
14.
	<fileSpec>*.7z</fileSpec> 
15.
  </Markt> 
16.
  <Markt ID="10411"> 
17.
    <description>Lokation III</description> 
18.
	<pos>M</pos> 
19.
	<pos>S</pos> 
20.
	<fileSpec>*.7z</fileSpec> 
21.
  </Markt> 
22.
</BackupConfig>
Das PowerShell-Skript soll jetzt jeden Markt (<Markt ID> durchgehen und darin jede Kasse <pos> sichern. Dazu habe ich zwei foreach-Loops gebaut:

01.
foreach($markt in $xmlfile.BackupConfig.Markt) { 
02.
        Write-Host ("[{0}] {1} - {2}" -f $(Get-Date -Format u), $markt.ID, $markt.description) -ForegroundColor Yellow  
03.
        $result_lines[$markt.ID] = @{} 
04.
        $result_lines[$markt.ID]["description"] = $markt.description 
05.
        foreach($postype in $xmlfile.BackupConfig.Markt.pos) { 
06.
                $pos = $($markt.ID+"-"+$postype) 
07.
                $posbackuppath = $("\\"+$pos+"\Backup") 
08.
                $result_lines[$markt.ID]["pos"] = $markt.BackupConfig.Markt.pos 
09.
                 If (!(Test-Connection -ComputerName $pos -Count 2 -Quiet)) { 
10.
                        Write-Host "PoS"$pos" not available. Proceeding to next PoS or location." 
11.
                        continue 
12.
13.
                do stuff 
14.
15.
}
Das Skript tut nicht ganz, was es soll. Es geht jede Markt ID durch und liest dort jede Kasse aus, aber immer über die gesamte XML-Datei. Im obigen Beispiel habe ich zwei Kassen pro Markt, drei Märkte mit insgesamt sechs Kassen. Ich bekomme nun aber pro Markt alle sechs Kassen abgearbeitet. Wie muss ich den zweiten foreach-Loop setzen, damit ich nur die Kassen pro Markt abgearbeitet bekomme?

Im Prinzip möchte ich einfach nur jeden pos-Eintrag pro Markt bearbeitet haben, nicht pro Markt jeden pos-Eintrag der Datei.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ini file powershell parse
gelöst Frage von kotb92Batch & Shell3 Kommentare

Hallo zusammen, Ich habe ein paar solche 'ini' Dateien die ich mit Powershell in eine csv Datei parsen möchte. ...

Windows Userverwaltung
Fehlermeldung Powershell
gelöst Frage von 121103Windows Userverwaltung17 Kommentare

Hi zusammen, ich möchte im AD-Modul für Powershell die Telefonnummer einer OU von extAttr7 & extAttr8 in die OfficePhone ...

Batch & Shell
Powershell Fehlermeldungen auf Englisch
gelöst Frage von MahagonBatch & Shell7 Kommentare

Ich habe hin und wieder das Problem, das sich analysen erschweren, da die Fehlermeldung auf deutsch ist. Get-ADGroup -Filter ...

Windows Server

Powershell + Import VM bringt Fehlermeldung

gelöst Frage von SupidoWindows Server

Hallo zusammen, ich bin etwas verwirrt, da ein PSScript mal funktioniert und mal nicht. Untenstehender Code ist teil eines ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 12 MinutenMicrosoft

Server Betriebssysteme auf dem die verschiedenen Offices nicht supported sind: • Office 365 ist und wird nicht supported auf Windows ...

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für einzelne Huawei-Smartphones

Tipp von VGem-e vor 1 StundeSpeicherkarten

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 3 StundenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 17 StundenHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows 10
Sysprep Fehler im Log kann nicht starten
Frage von grillinator95Windows 1022 Kommentare

Hallo, kann leider SYSPREP nicht mehr starten, Win10 64bit. Logfile sagt folgendes: 2018-10-17 13:44:56, Info SYSPRP 2018-10-17 13:44:56, Info ...

Internet
Ist diese URL denkbar (Syntax)?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Der Sohn eines Arbeitskollegen hat im Gymnasium EDV-Unterricht. Leider hat er in der letzten Klassenarbeit einen Fünfer geschrieben. ...

Debian
Linux debian 9 Installation
Frage von Green14Debian16 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...

Outlook & Mail
Outlook schiebt Mails aus Posteingang sofort in den Papierkorb
Frage von hermesOutlook & Mail13 Kommentare

Hallo Outlook Fachleute, wir haben hier das Problem, dass Outlook 2010 alle ankommenden Mails seit zwei Tagen einfach in ...