Jump to content

testperson

Expert Member
  • Gesamte Inhalte

    10.210
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von testperson

  1. Aber, aber, aber ich bin doch gar nicht der Olaf. Regex war halt für "mal schnell" einfacher, aber ich will mal nicht so sein. ;) $Lines = @( "01.01.2021 01.01.21 12345 1 Buchungstext xyz Betrag", "02.02.2021 01.01.21 12345 1 Buchungstext xyz Betrag", "Kein Datum NeinNein 12345 1 Was auch immer Moep", "03.03.2021 01.01.21 12345 1 Buchungstext xyz Betrag" ) foreach($Line in $Lines){ try{ $dummy = [datetime]$Line.Split(" ")[0] $Line = -join ("`n", $Line) } catch{ # No } Write-Output $Line }
  2. Hi, Notfalls lässt sich das mit der GParted LiveCD (GParted -- Live CD/USB/PXE/HD) lösen. Generell aber ebenfalls +1 für Norbert. Gruß Jan
  3. Hi, die Logik in "grob" hättest du hier schonmal: $Lines = @( "01.01.2021 01.01.21 12345 1 Buchungstext xyz Betrag", "02.02.2021 01.01.21 12345 1 Buchungstext xyz Betrag", "Kein Datum NeinNein 12345 1 Was auch immer Moep", "03.03.2021 01.01.21 12345 1 Buchungstext xyz Betrag" ) foreach($Line in $Lines){ if($Line -match "^[01]{1}[0123456789]{1}.[0123]{1}[0123456789]{1}.\d{4}"){ $Line = -join ("`n", $Line) } Write-Output $Line } Gruß Jan
  4. Hi, wie / was wurde denn nach dem Reboot neu gestartet? Ggfs. alles (erst die DC(s) und dann die Exchange(s)) nochmal durchbooten, Alternativ kannst du auch hier mal schauen: Repair failed installations of Exchange Cumulative and Security updates - Exchange | Microsoft Docs Bzgl. Zertifikate aus obigem Link was, das mir häufig untergekommen ist: Repair failed installations of Exchange Cumulative and Security updates - Exchange | Microsoft Docs Gruß Jan
  5. Hi, verschieben geht nicht nur kopieren: Set-Mailbox (ExchangePowerShell) | Microsoft Docs Gruß Jan
  6. Hi, wenn Outlook ein Problem mit dem Zertifikat hat, dann hast du entweder das MAPIoverHttp vDir vergessen oder Autodiscover / den SCP (Set-ClientAccessService -AutodiscoverServiceInternalUri). Im Browser, beim Zugriff auf OWA / ECP, ist das Zertifikat in Ordnung? Gruß Jan
  7. Ggfs. die Ungeduldigen, die sich gefragt haben, warum die Win32_Product Klasse so langsam ist. :) Wobei "Get-Package" auch nicht schnell ist.. ;)
  8. Hi, evtl. die integrierte Remotehilfe in Windows 10? Alternativ gibt es von ISL Online die "Self-Hosted" Variante für 690€ pro Dauerlizenz (+ ggfs. 99€/Jahr für Updates). Gruß Jan
  9. Wenn es hauptsächlich auf die Softwareliste ankommt: Get-Package Jedenfalls sollte da nicht mit "Win32_Product" gearbeitet werden. Kannst ja mal in der Ereignisanzeige unter Anwendung nach Event 1035 vom MsiInstaller suchen nachdem due die Klasse abgefragt hast.
  10. Ich zitiere da mal jemanden: "Dein" Script "tut" ziemlich viel Dummes bzw. hat ne ganze Menge Potenzial auf die Nase zu fallen. Meine Antwort oben zeigt (sehr wahrscheinlich) das Problem auf, warum das Script als SYSTEM nicht das erwartete Ergebnis bzw. die Dateien auf dem Share liefert. Lösungsansätze findest du auch in der Antwort. Den meisten "Kram" wirst du da sogar remote von einer zentralen Stelle abfragen können. Viel Erfolg noch..
  11. Hi, bau ein Logging ins Script und prüfe, _was_ da als SYSTEM nicht funktioniert. Ich tippe darauf, dass SYSTEM nicht auf das NAS schreiben darf, da Berechtigungen fehlen. Das sollte sich aber auch "andersrum" bauen lassen, indem du auf einem Server "einfach" ein Script laufen lässt, welches prüft, ob die Clients erreichbar sind und dann mit den entsprechenden Remoteverwaltungsinstrumenten die Daten holen. Ein weiterer Ansatz wäre vermutlich eine Dokumentations- und/oder Inventarisierungslösung. Was - grob skizziert - mit deinem Plan machbar sein sollte: "Gesicherte" Ordnerstruktur anlegen Auf dem lokalen PC: User dürfen im Scriptordner Lesen und Ausführen sowie _nicht_ Schreiben/Ändern Auf dem NAS: User dürfen Schreiben und _nicht_ Ausführen Script(e) auf die lokalen PCs in die Ordnerstruktur kopieren Daten sammeln Daten kopieren Aufgabe "Sammeln" planen, die als System (beim Start) die Daten einsammelt und ablegt Aufgabe "Kopieren" planen, die im Userkontext die Daten aufs NAS schiebt Beschreibe doch einfach einmal, welche Daten du einsammeln möchtest oder zeig dein Script. Ich denke es gibt durchaus bessere Wege nach Rom. Gruß Jan
  12. Hi, falls ein Endpoint- / Client-Management vorhanden ist, könnte man damit ebenfalls die Zertifikate auf die Clients bringen. Bei einem WSUS (oder generell bei Web Services) würde ich aber nicht lange nachdenken und ein Zertifikat einer kommerziellen CA bzw. "im Worst Case" von Let's Encrypt nutzen. Gruß Jan
  13. Nur PowerShell ist Wahres: workflow Check-PingStatus { Param( [System.Collections.ArrayList] $IPs ) parallel { foreach -parallel ($IP in $IPs) { try{ Test-Connection -ComputerName $IP -Count 1 -ErrorAction Stop } catch{ # .. of the day } } } return $results } [string]$IPNet = "172.31.1.0" [int]$Start = 1 [int]$Stop = 10 $IPNet = -join ($IPNet.Split(".")[0], ".", $IPNet.Split(".")[1], ".", $IPNet.Split(".")[2]) $IPs = [System.Collections.ArrayList]@() $Start..$Stop | ForEach-Object { $IPs.Add([string]$("{0}.{1}" -f $IPNet, $_)) | Out-Null } $PingStatus = Check-PingStatus -IPs $IPs $PingStatus | Sort-Object Destination
  14. Der Test war eigentlich "nur", ob die PowerShell bzw. "*-GPRegistryValue" mit den von dir gebauten bzw. selbstgebauten ADM/ADMX zurecht kommt. .. und dann kam der innere Monk. .. und dann hab ich mich da irgendwie reingesteigert. ;)
  15. Hi, wenn man schonmal dabei ist: What you can do, should do and should NOT do with GPOs: Wer bin ich und was darf ich - Gruppenmitgliedschaften und Benutzerrechte (evilgpo.blogspot.com) Alternativ sollte man damit auch "einfach" ClientAdmins auf PCs bekommen. :) Gruß Jan
  16. Ich hatte Langeweile (und wollte was testen). Vielleicht kann es ja jemand brauchen. :) # Wird keine OrganizationalUnit angegeben, wird nur das GPO erstellt und nicht gelinkt # ADMX / ADML muss bei NorbertFe ausgeliehen werden aus # https://www.mcseboard.de/topic/220286-printspooler-neue-sicherheitsl%C3%BCcke/?do=findComment&comment=1421870 # Die ADMX / ADML müssen im Scriptpfad liegen param( [parameter(Mandatory=$true)] [string] [ValidateSet("Domain", "AllDomainsInForest")] $Scope, [parameter(Mandatory=$true)] [string] $GPOName, [parameter(Mandatory=$false)] [string[]] $OrganizationalUnit ) if([string]::IsNullOrEmpty($PSScriptRoot)){ $ScriptPath = Split-Path -Path $psISE.CurrentFile.FullPath } else{ $ScriptPath = $PSScriptRoot } if($Scope -eq "Domain"){ $Domains = Get-ADDomain -Current LocalComputer } else{ $ADForest = Get-ADForest -Current LocalComputer $Domains = $ADForest.Domains } foreach($Domain in $Domains){ Write-Output $("`tPrüfe Domain `"{0}`"..." -f $Domain) $curDomain = Get-ADDomain -Identity $Domain $curPolDefPath = -join ("\\", $curDomain.DNSRoot, "\SYSVOL\", $curDomain.DNSRoot, "\Policies\PolicyDefinitions") $locPolDefPath = Join-Path -Path $env:windir -ChildPath "PolicyDefinitions" if(Test-Path -Path $curPolDefPath -PathType Container){ # Central Store Write-Output "`t`tPolicyDefinitions im Central Store gefunden -> Kopiere ADMX/ADML..." Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.admx") ` -Destination $curPolDefPath ` -Force if(Test-Path -Path (Join-Path -Path $curPolDefPath -ChildPath "en-us") -PathType Container){ Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.adml") ` -Destination (Join-Path -Path $curPolDefPath -ChildPath "en-us") ` -Force } if(Test-Path -Path (Join-Path -Path $curPolDefPath -ChildPath "de-de") -PathType Container){ Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.adml") ` -Destination (Join-Path -Path $curPolDefPath -ChildPath "de-de") ` -Force } } else{ # Local Store Write-Output "`t`tPolicyDefinitions im Local Store gefunden... -> Kopiere ADMX/ADML..." Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.admx") ` -Destination $locPolDefPath ` -Force if(Test-Path -Path (Join-Path -Path $locPolDefPath -ChildPath "en-us") -PathType Container){ Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.adml") ` -Destination (Join-Path -Path $locPolDefPath -ChildPath "en-us") ` -Force } if(Test-Path -Path (Join-Path -Path $locPolDefPath -ChildPath "de-de") -PathType Container){ Copy-Item -Path (Join-Path -Path $ScriptPath -ChildPath "PrintNightmare.adml") ` -Destination (Join-Path -Path $locPolDefPath -ChildPath "de-de") ` -Force } } Write-Output $("`t`tSuche Gruppenrichtlinien Objekt `"{0}`"..." -f $GPOName) $curGPO = Get-GPO -Domain $curDomain.DNSRoot ` -All | Where-Object { $_.DisplayName -eq $GPOName } if($null -eq $curGPO){ Write-Output $("`t`tGruppenrichtlinien Objekt `"{0}`" nicht gefunden. Erstelle neues GPO..." -f $GPOName) $curGPO = New-GPO -Name $GPOName ` -Domain $curDomain.DNSRoot ` -Comment "Fix PrintNightmare" if($null -ne $OrganizationalUnit){ foreach($OU in $OrganizationalUnit){ Get-ADOrganizationalUnit -SearchBase $curDomain.DistinguishedName ` -Filter 'Name -eq $OU' | ForEach-Object { Write-Output $("`t`t`tVerlinke `"{0}`" an `"{1}`"" -f $GPOName, $_.DistinguishedName) New-GPLink -Guid $curGPO.Id ` -Domain $curDomain.DNSRoot ` -Target $_.DistinguishedName | Out-Null } } } else{ Write-Output $("`t`tKeine Organisationseinheit angegeben! Gruppenrichtlinienobjekt `"{0}`" muss händisch verknüpft werden..." -f $GPOName) } } else{ Write-Output $("`t`tGruppenrichtlinien Objekt `"{0}`" gefunden..." -f $GPOName) } Write-Output $("`t`tSetze `"RestrictDriverInstallationToAdministrators`" in `"{0}`" auf `"1`"..." -f $GPOName) Set-GPRegistryValue -Guid $curGPO.Id ` -Key "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" ` -ValueName "RestrictDriverInstallationToAdministrators" ` -Type DWord ` -Value 1 | Out-Null Write-Output $("`tDomain `"{0}`" abgeschlossen..." -f $Domain) }
  17. Hi, alternativ "unsere Software" anpassen, damit diese nicht über Outlook versendet. ;) Gruß Jan
  18. Puh, also so "pauschal" ist mir noch nichts untergekommen. Hängt aber sicherlich auch davon ab, was aus welchem Programm wie gedruckt wird und wie die Drucker generell eingebunden sind. Aus der DATEV Community kann ich diese drei Beiträge mit "Ja / Nein / Vielleicht" anbieten: Jetzt handeln: Angreifer nutzen PrintNightmare Lüc... - DATEV-Community - 228682
  19. Das was da laut "netstat" auf tcp 443 lauscht gehört auch definitiv zum IIS (bzw. zum eingesetzten Webserver)? Ein weiteres Binding für 443 oder für einen anderen, freien Port?
  20. Um TLS Versionen und Cipher "grade zu ziehen": Nartac Software - Download
  21. Moin, auf DMAX (im "guten" alten Fernsehprogramm) kommt ab heute bis 14.08 jeden Samstag von 11:15 Uhr bis 11:40 Uhr "Vintage Tech Hunters – Technik mit Kultfaktor!". (Vintage Tech Hunters – Technik mit Kultfaktor! – fernsehserien.de) Mal gucken, was da so gefunden wird. :) Gruß Jan
  22. Hi, "nach getaner Arbeit sollst du ruhn oder auch ein Schläfchen tun" gilt bei mir für Client PCs / Notebooks und Terminalserversitzungen. ;) Lass ihn doch in einem Testzeitraum das Notebook mal täglich herunterfahren und beobachtet dann. Hast du den Hintergrund mit der 24x7 Laufzeit auch einmal (explizit) bei Wortmann erwähnt und deren Meinung dazu eingeholt? Gruß Jan
  23. Und die drei weiteren Fragen?
  24. Hast du das Problem auch wenn du die Website direkt auf dem Server öffnest (bspw. https://localhost)? Wie steht es um Virenschutz auf Server und Client sowie dessen evtl. vorhandene Firewall/Webprotection? Steht etwas (Proxy / Firewall / ...) zwischen Server und Testclient? Was ergibt ein "netstat -ano | findstr 0.0.0.0:443" auf dem Server?
  25. OT: Machen wir doch einfach im Bereich Netzwerk "IP over Fibre Channel" und im Bereich Storage "Fibre Channel over Ethernet".
×
×
  • Neu erstellen...