Jump to content

Kuddel071089

Members
  • Gesamte Inhalte

    557
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Kuddel071089

  1. @mwiederkehr

     

    Das Skript funktioniert auch mit dem deutschen Log:

     

    Type       Total   Copied   Skipped Mismatch Failed Extras  
    ----       -----   ------   ------- -------- ------ ------  
    Bytes      1.342 t 189.09 m 1.342 t 0        0      160.48 m
    Dateien    272877  195      272682  0        0      179     
    Verzeichn. 22156   3        22153   0        0      2    
    
    bzw:
    
    Type       Ingsesamt Kopiert  Übersprungen Keine Übereinstimmung FEHLER Extras  
    ----       --------- -------  ------------ --------------------- ------ ------  
    Bytes      1.342 t   189.09 m 1.342 t      0                     0      160.48 m
    Dateien    272877    195      272682       0                     0      179     
    Verzeichn. 22156     3        22153        0                     0      2   

     

    Wie genau frage ich jetzt aber einzelne Werte ab ?

     

    Wie komme ich jetzt z.B. an die 189,09 MB kopierte Daten ran?

     

    An dieser Stelle komme ich nicht weiter:

     

    $data = Get-Content "K:\Backup_Log.txt" -Raw | Select-RoboSummary | Sort-Object Type | Format-Table

     

     

    #######

    # EDIT: #

    #######

     

     

    Hab es jetzt hinbekommen, den Wert für die kopierten Daten herauszubekommen:

     

    $data = Get-Content "K:\Backup_Log.txt" -Raw | RoboSummary | Sort-Object Type
    
    foreach($entry in $data) {
        $typ = $($entry.Type)
        if($typ -eq "Bytes") {$kopierte_datenmenge = $entry.Kopiert}
        if($typ -eq "Dateien") {$kopierte_datein = $entry.Kopiert}      
        if($typ -eq "Verzeichn.") {$kopierte_verzeichnisse = $entry.Kopiert}      
        }
    
    if($kopierte_datenmenge -like "* m") {$kopierte_datenmenge = $kopierte_datenmenge.Replace(" m"," MB")}
    if($kopierte_datenmenge -like "* g") {$kopierte_datenmenge = $kopierte_datenmenge.Replace(" g"," GB")}
    "Kopierte Datein:        $kopierte_datein"
    "Kopierte Datenmenge:    $kopierte_datenmenge"
    "Kopierte Verzeichnisse: $kopierte_verzeichnisse"

     

    Ausgabe:

    Kopierte Datein:        195
    Kopierte Datenmenge:    189.09 MB
    Kopierte Verzeichnisse: 3

     

    Ist in meinen Augen zwar Quick & Dirty, aber funktioniert. Wenn jemand eine besser Lösung hat, immer her Damit ;-)

  2. Hallo zusammen,

     

    bei mir läuft ein tägliches Backup per Powershell und Robocopy.

     

    Kann man das Robocopy Log irgendwie per Powershell auslesen und die einzelnen Werte in Variablen schreiben, um eine Mail zu versenden?

     

    Mich interessieren da speziell die Werte "Kopiert: Datein; Kopiert: Bytes" sowie "Insgesamt: Zeit".

     

    ------------------------------------------------------------------------------
    
               Insgesamt   KopiertšbersprungenKeine šbereinstimmung    FEHLER    Extras
    Verzeich.:     22156         3     22153         0         0         2
      Dateien:    272877       195    272682         0         0       179
        Bytes:   1.342 t  189.09 m   1.342 t         0         0  160.48 m
       Zeiten:   1:23:52   0:03:57                       0:00:00   1:19:55
    
    
    Geschwindigkeit:              836030 Bytes/Sek.
    Geschwindigkeit:              47.838 Megabytes/Min.
       Beendet: Donnerstag, 27. Oktober 2022 05:32:46

     

    Vielen Dank schon einmal

  3. vor 10 Minuten schrieb cj_berlin:

    Moin,

     

    ja, das ist ein bekannter BugFehler in der Doku. Die Doku sagt zwar, man kann einen Pfad angeben, aber er nimmt nur Dateinamen. Dann fährst Du dein Skript halt als System und definierst auf dem zentralen Server eine Freigabe, in die Domain Controller schreiben dürfen.

    Ja auf die Idee bin ich auch gerade gekommen. Scheint zu funktionieren

  4. Hallo zusammen,

     

    das Verteilern der Zonen Backups auf alle DCs macht auf jeder Fall nicht so wirklich Sinn, da habt ihr Recht.

     

    Es reicht natürlich, wenn die Exporte auf einem zentralen Server (nicht DC) liegen.

     

    Bleibt die Frage, wie kommen die Exporte ohne Doamin Admin Rechte des System-Users "DNS-Backup" da hin.

     

    @BOfH_666 die Doku sagt bei "-FileName" zwar, dass man einen kompletten Pfad angeben kann, aber das funktioniert nicht. Man kann nur den Dateinamen angeben, da der Export immer in C:\Windows\System32\dns landet

     

    @NilsK Der Anwendungsfall ist, dass alle Einträge in den Zonen weg sind (wie 2019). Dann könnte man über den Export die komplette Zone wiederherstellen

  5. @NilsK es sind AD-integrierte Zonen und ein AD-Backup haben wir auch.

     

    Vor 3 Jahren hatten wir einen komplette DNS Ausfall und musste alle Zonen wiedeherstellen. Da hat uns ein Linux DNS geholfen, worauf alle Einträge vom Windows weitergelitet werden.

    Die AD als solche lief noch, sodass wir uns gegen einen AD-Restore und für einen Zonen-Restore entschieden haben (in Abstimmung mit Microsoft).

     

    Jetzt würde wir gerne die Möglichkeit haben, einzelne DNS Zonen schnell wiederherzustellen.

     

    @BOfH_666

    Beim CMD-let Export-DNSServerZone kann man nur einen Filename. aber keine Path angeben

    Mit SystemUser meine ich nicht SYSTEM sondern den von mir erstellten User "DNS-Backup"

    Verteilung aud alle DCs, damit ein Restore der Zonen von jedem DC möglich ist

     

  6. Hallo zusammen,

     

    aktuell läuft auf einem unserer DCs ein Task, der alle DNS Zonen sichert und auf die Backups zur Sicherheit auf alle DCs verteilt.

     

    Problem an der Geschichte ist, dass der Task mit meinem persönlichen Domain-Admin ausgeführt wird.

     

    Ich habe jetzt einen User "DNS-Backup" eingerichtet, der das Ganze machen soll.

     

    Der Export der Zonen funktionert auch (Export-DNSServerZones), allerdings weiß ich jetzt nicht, wie ich an die Backup Datein ran komme.

     

    Export-DnsServerZone -ComputerName DC1 -Name "testomain.xxxxxx.de" -FileName "testomain.xxxxxx.de"

     

    Die Backups werden in dem Fall ja auf dem DC1 unter C:\Windows\System32\DNS gespeichert. Wie komme ich da jetzt mit dem SystemUser ohne DomainAdmin rechte ran?

    C:\Windows\System32\DNS freigeben kann ja auch nicht zielführend sein.

     

    Am Ende soll das Ganze so aussehen:

    -Das Skript läuft auf einem Skript Server und nicht auf einem DC

    -Alle Zonnen werden exportiert, auf alle DCs verteil und alle in C:\Windows\System32\DNS gelöscht

     

     

    Hat jemand eine Idee und kann helfen?

  7. Hallo zusammen,

     

    wir müssen bei uns auf allen Windows Server (über 750) die DNS Server aktualisieren.

     

    Dafür gibt es ja mehrere Möglichkeiten:

     

    1. per GPO setzen

    2. per remote Powershell mit AD-User

    3. per remote User und local Admin und LAPS PW

     

    Option 1 würde ich im Nachgang aktivieren und nicht für die eigentliche Aktualisierung verwenden oder?

    Option 2 wäre möglich, allerdings wird dann auf jedem Server ein Profil von meinen User erzeugt

    Option 3 wäre am besten, allerdings habe ich bisher noch keine Remote Verbindung mit dem lokalen Admin zu Stande bekommen

     

    Was habt ihr für Tips für mich?

     

    Habe ich evtl. noch eine Möglichkeit vergessen?

     

     

    Vielen Dank schon einmal :-)

     

    --------------------

     

    EDIT:

     

    Ich habe es soeben doch mit dem lokalen Admin und dem LAPS PW hinbekommen.

     

    Allerdings muss man dazu auf dem Quellserver, auf dem die Befehle ausgeführt werden sollen, folgenden Befehl ausführen:

     

    Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value '*'

     

    Ich kann gerade nicht abschätzen, welche Auswirkungen dieser Befehl bzgl. der Sicherheit hat.

     

    Evtl. wäre das eine Option für die Umstellung und man würde den Eintrag am Ende des Skriptes wieder Rückgänging machen?

  8. vor 2 Minuten schrieb mikro:

    Hast Du denn irgendwelche Exchange CMDLets?

    Welche Rolle hat Dein User ?

     


    Oh guter Hinweis, ich teste mit einem SystemAccount, da die Erstellung automatisch passiert.

     

    Dieser User hat natürlich keine vollem EX Admin Berechtigungen.

     

    Ich prüfe...

    Es lag an den fehlenden Berechtigungen. In der zugewiesenen Berechtigungsgruppe im Exchange fehlte der Befehl "Enable-RemoteMailbox".

     

    Jetzt geht es :-)

     

     

     

    Vielen Dank für eure Hilfe

  9. Hallo zusammen,

     

    ich testet gerade die Erstellung von Postfächer auf OnPrem und O365 Seite ohne Migration.

     

    Dazu connecte ich mit einem unserer OnPrem Exchange Server und erstelle das neue Postfach:

    Enable-Mailbox -Identity $username -Alias "$username" -Database "$db" | Out-Null

     

    Das funktioniert auch wie bisher ohne Probleme.

     

    Jetzt versuche ich das Postfach auch auf O365 Seite anzulegen:

    $smtprouting = $username + "@********.mail.onmicrosoft.com"
    Enable-RemoteMailbox $username -RemoteRoutingAddress $smtprouting

     

    und bekomme die Meldung, dass Powershell das Cmdlet nicht kennt.

    Enable-RemoteMailbox : Die Benennung "Enable-RemoteMailbox" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, 
    oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
    In Zeile:2 Zeichen:5
    +     Enable-RemoteMailbox $username -RemoteRoutingAddress $smtprouting
    +     ~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (Enable-RemoteMailbox:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException

     

    Direkt auf dem Exchange Server in der Powershell kommt folgende Fehlermeldung:

    Dieser Task unterstützt keine Empfünger dieses Typs. Der angegebene Empfänger ***/***/**** ist vom Typ Mailbox. Stellen Sie sicher, dass dieser Empfäger dem für diesen Task erforderlichen Empfängertyp entspricht

     

     

    Microsoft schreibt

    "This cmdlet is available only in on-premises Exchange.

    Use the Enable-RemoteMailbox cmdlet to create a mailbox in the cloud-based service for an existing user in the on-premises Active Directory."

    Enable-RemoteMailbox

     

     

    Kann jemand helfen ?

  10. Hallo zusammen,

     

    ich bin gerade dabei, in unserer Testumgebung AGPM zu installieren.

     

    Da wird bei uns zwischen Client- und Serverteam untescheiden und beide Ableitung jeweils ihre eigenen GPOs verwalten, frage ich mich gerade, wie ich diese Struktur im AGPM abbilden kann.

     

    Aktuell können alle MAs aus beiden Abteilungen alle GPOs verwalten.

     

    Ziel soll sein, dass die Client-Kollegen nur Zugriff auf die Client-GPOs und die Server-Kollegen nur Zugriff auf die Server-GPOs haben.

     

    Ohne AGPM haben wir das ganze über Berechtigungsgruppen pro GPO per Delegierung gesteuert.

     

    Kann jemand helfen und hat eine Idee ?

     

     

    Vielen Dank schon einmal.

  11. Hallo zusammen,

     

    kann man auf einem Exchange Server (v 2013) benutzerdefinierte Berechtigungsgruppen bauen?

     

    Ziel soll sein, dass ein User explizit die Berechtigungen erhalten soll, folgende Befehle auszuführen:

     

    Enable-Mailbox
    Disable-Mailbox
    Set-CASMailbox -Identity $username -OWAforDevicesEnabled $false
    Set-Mailbox $username -RetentionPolicy "Standard-Aufbewahrungsrichtline"

     

    Leider habe ich noch keine entsprechenden Dokus gefunden.

     

     

    Vielen Dank schon einmal.

     

  12. Kurzes Update:

     

    mit -ComputerName $dc

     

    funktioniert jetzt schon einmal der Export der DNS-Zonen in C:\Windows\System32\dns

     

    Da sollen die Zonen aber nicht liegen bleiben.

     

    1. Verschieben auf D:\ auf jedem DC

    2. Kopieren auf einen externen Speicherort

     

    Wie bekomme ich das jetzt hin, ohne auf jedem DC zwei Freigaben (C:\Windows\System32\dns\ und D:\DNS-Backups) zu erstellen, worauf der SystemUser Zugriff erhält ?

  13. Hallo zusammen,

     

    ich bin gerade dabei eine Auswertung aller ScheduleTasks auf einem Server zu erstellen.

     

    Folgende Infos habe ich bereits auswerten können:

     

    Pfad

    Task-Name

    Nächster Start

    Programm

     

    Jetzt fehlt noch der Trigger und der User, der für die Ausführung verwendet wird.

     

    Mit schtasks.exe kommt man an diese Infos heran, aber leider bekomme ich es nicht hin, die Infos weiterzuverarbeiten

     

    Zwischenergebnis:

    Task-Ordner:    VMware
    Name:           VMware_Snapshot_Check
    Nächster Start: 29.10.2021 - 05:45 Uhr
    Skript:         D:\Pfad_zum_Skrikpt\Skript.ps1

     

×
×
  • Neu erstellen...