Jump to content

Kuddel071089

Members
  • Gesamte Inhalte

    557
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Kuddel071089

  1. Ja das mit der Mitarbeiterüberwachung ist klar.

     

    Das ganze Vorgehen wurde bereits mit unserem Betriebsrat abgestimmt.

     

    Da der Treiber "Kostenersparnisse" sind, ha der BR abgesegnet, dass wir die Nutzung auswerten dürfen.

     

    Diese Infos bleoben dann natürlich nur bei uns Admins (2 Personen).

  2. Hallo zusammen,

     

    ich hoffe mal meine Frage ist hier richtig.

     

    Ist es möglich per Powershell das LastLogon Datum eines User in Teams auszulesen ?

     

    Es gibt ja die Teams integrierten Reports, aber in den Reports sind viele Infos drin, wie wir aktuell nicht benötigen.

     

    Daher versuche ich gerade einen eigenen Report per PS zu erstellen.

     

     

    Vielen Dank schon einmal

  3. Hallo zusammen,

     

    ich habe gestern einen neu bestellten MiniPC von Amazon neu installiert.

     

    Standardmäßig war Windows 10 Home installiert, dass ich dann per Key auf Windows 10 Pro upgegraded habe, da ich den Kiosk-Modus nutzen möchte.

     

    Für den Kiosk-Modus habe ich einen neuen User erstellt und für diesen User den Kiosk-Modus aktiviert.


    Als App habe ich den Edge (Version 86.0.622.56) freigegeben und eine Url "als digitale Signatur oder interkative Anzeige" hinterlegt.

     

    Nach der Einrichtung habe ich den PC komplett gebootet.

     

    Wenn ich jetzt den Kiosk-User anmelde, bleibt der Bildschirm blau und er Edge startet nicht.

     

    Aktuell ist das OS noch nicht aktiviert. Hatte das in einer Test-VM genau so getestet.

     

     

    Kann jemand helden?

     

     

  4. vor 13 Minuten schrieb Dukel:

    Kleiner Tipp. Invoke-Command kennt -AsJob.

    dann müsste das so aussehen ?

     

    #Abfrage der austehenden Updates
    $job = Invoke-Command -Computer $using:servername -ScriptBlock {
    	$computer = $args[0]
    	# Abfrage mit COM-Objekt
    	$Searcher = New-Object -ComObject Microsoft.Update.Searcher
    	$Criteria = "IsInstalled=0 and Type='Software'"
        $SearchResult = $Searcher.Search($Criteria).Updates
    	$SearchResult.Count
    } -AsJob
    
    
    
    #Timeout von 5 Minuten
    Wait-Job $job -Timeout 300 | Out-Null
    $updates = Receive-Job -Job $job

     

  5. Der erste Test läuft

     

    #Abfrage der austehenden Updates
    $job = Start-Job -ScriptBlock {
    	  Invoke-Command -Computer $using:servername -ScriptBlock {
        		$computer = $args[0]
          		# Abfrage mit COM-Objekt
          		$Searcher = New-Object -ComObject Microsoft.Update.Searcher
          		$Criteria = "IsInstalled=0 and Type='Software'"
          		$SearchResult = $Searcher.Search($Criteria).Updates
                $SearchResult.Count
          }
    }
    
    
    #Timeout von 5 Minuten
    Wait-Job $job -Timeout 300 | Out-Null
    $updates = Receive-Job -Job $job

     

  6. Gerade eben schrieb BOfH_666:

    Ich würde in der Schleife eher mit Get-Job arbeiten und den Status auswerten. Und wenn er in der von Dir definierten Zeit nicht abgeschlossen wird, kannst Du die Schleife abbrechen/beenden. Wait-Job blockiert die Konsole ja so lange bis entweder der Job oder die Jobs abgeschlossen sind oder bis der Timeout abgelaufen ist.

    ich merke, in start-job muss ich mich noch ein wenig einlesen ^^

  7. vor 8 Minuten schrieb testperson:

    Hi,

     

    wäre es nicht besser zu klären, warum manche Server "in ein Timeout laufen" und dann die Ursache zu beheben? Wenn die Server während der Abfrage booten oder "geplant" nicht erreichbar sind, würde ich vorher einfach mit Test-(Net)Connection auf Erreichbarkeit prüfen.

     

    BTW.: Je nachdem an welcher Stelle das Problem auftritt, wäre ein Error-Handling noch ein Ansatz. Dann könntest du im Bericht direkt noch auf die fehlerhaften Server hinweisen.

     

    Gruß

    Jan

     

    Einen Check einzubauen, dass Server XY nicht ebgefragt werden kann, wäre natürlich noch besser.


    Dann wüsste ich, dass ich mir den Server anschauen muss und würde die Abfrage nach den ausstehenden Updates gar nicht erst starten.

     

    Jetzt die Frage ?

    Wie baue ich meinen Befehl so um, dass er nur ausgeführt wird, wenn ein sinnvolles ergebnis zurückgeliefert wird.

     

    Test-Connection ist bereits in verwendung

     

  8. Gerade eben schrieb Dukel:

    Ich würde das parallel, asynchron machen.

    Nach einer gewissen Zeit kannst du die Ergebnisse holen und die nicht abgeschlossenen Jobs löschen.

     

    das musst du ein wenig erläutern. verstehe nicht so ganz was du meinst.

    aktuell läuft ein task, der ein ps skript startet. in dem skript werden dann aus der AD alle Windows Server abgefragt. Stand heute: 580 Server

  9. vor 3 Minuten schrieb Dukel:

    Hast du keinen WSUS? Da hast du genau diese Infos, die du aufwändig suchst.

    Natürlich haben wir einen WSUS.

    Die Auswertungen fand ich aber eher semi-gut, da wir für Produktions-Systeme nur Sicherheitsupates bereitstellen

    vor 3 Minuten schrieb Sunny61:

    Im Task startest Du eine Batch, die startet das PS-Script für die Auswertung. Den Versand per Mail auslagern in ein eigenes Script, das dann zum Schluß in der Batch aufrufen.

    Nur wie soll ich steuern, wann schluss ist ? Ich muss ja iwie definieren, dass die gesamte Auswertung nur max. 5 Stunden läuft und dann die Mail versendet werden sollte

  10. Gerade eben schrieb Sunny61:

    Ich glaube BOfH_666 meint eine geplante Aufgabe, die kann man ja auch mehrmals täglich laufen lassen.

    Die komplette PS Abfrage läuft bereits als Abfrage.

     

    Wenn der Task nach 8 Std autom. beendet wird, besteht das Problem, dass der Report nicht per Mail versendet wird, da dieser Befehl ganz am Ende steht und das Skript sich natürlich immer in der Mitte aufhängt

  11. Hallo zusammen,

     

    ich habe mir für alle unsere Windows Server eine Abfrage gebaut, die alle Infos bzgl. Windows Updates in eine CSV Datei schreibt (Servername, Funktion, Boottime, Uptime, Last Update, Ausstehende Updates).

     

    Hin und wieder kommt es bei der Abfrage der ausstehende Updates zu Problemen, da die Server nicht zeitnahe antworten.

     

    Daher bräuchte ich jetzt irgendwie ein Timeout.

     

    Die Abfrage sieht so aus:

     

    $updates = Invoke-Command -Computer $servername -ArgumentList $servername -ScriptBlock {
      	$computer = $args[0]
      	# Abfrage mit COM-Objekt
      	$Searcher = New-Object -ComObject Microsoft.Update.Searcher
      	$Criteria = "IsInstalled=0 and Type='Software'"
      	$SearchResult = $Searcher.Search($Criteria).Updates
      	$SearchResult.Count
    }

    Hat jemand eine Idee ?

     

     

    Vielen Dank schon einmal :-)

  12. Gerade eben schrieb Mario-HS:

    Hallöchen, es ist nur so eine Idee da ich ja nicht weiß, wie viel Mails auf dem weg so verschickt werden und ob es intern/extern ist, aber hast du falls vorhanden mal in der FW nach graylisting geschaut, kann ja sein, das beim Skript alles i.O. ist, aber irgendwelche Regeln/Filter bei der FW oder MS hier greifen.

    die mails werden intern verschickt. würden fw regeln greifen, dann wäre es ja ein permanentes problem und nicht nur sporadisch

  13. Zur Erklärung:

    Die Usereinrichtung machen bei uns externe Kollegen. Damit sie nicht direkt AD arbeiten, haben wir ein Webfrontend erstellt.

     

    Ich selber konnte das Problem nicht reproduzieren.

     

    Wenn wir z.B. Admin-User per PS einrichten, werden die Mails immer korrekt versendet. In beiden Fällen wird der gleiche SMTP Server verwendet.

     

    Im Fehlerfall ist volgendes zu erkennen:

     

    Admin-Mail

    Mailbody wird erstellt und als txt Datei zwischengespeichert

    Mail wird nicht versendet

     

    Bearbeitermail

    Mailbody wird erstellt und als txt Datei zwischengespeichert

    Mail wird nicht versendet

     

    Anforderermail

    Mailbody wird erstellt und als txt Datei zwischengespeichert

    Mail wird nicht versendet

     

    Die Mailbody werden immer korrekt erstellt, nur die Mails werden nicht versendet.

     

    Der Fehler muss danach auftreten, da im Portal am Ende immer eine Ausgabe erscheint:

    #Erfolgreich Ausgabe
    if(Get-ADUser -Filter {SamAccountName -eq $username}) {
        #cls
        #Write-Host "*ERROR*"
        if($extern -ne 5) {Write-Host "Der Account "}
        if($extern -eq 5) {Write-Host "Der HFT-User "}
        Write-Host "<b>$username</b>"
        Write-Host " f&uuml;r Hr./Fr. $nname wurde erfolgreich erstellt<br></br>"
    }
    else{
        #cls
        Write-Host "*ERROR*"
        Write-Host "Der Account "
        Write-Host "<b>$username</br>"
        Write-Host " f&uuml;r Hr. / Fr. $nname wurde NICHT erstellt<br></br>"
        Write-Host "<br></br>"
        Write-Host "<b>Bitte mit IB1 in Verbindung setzen</br>"
    }

    Die o.g. Ausgabe folgt direkt auf das Versenden der Mail, daher frage ich mich, wo da der Fehler ist. Zumal der Fehler nicht immer auftritt

  14. Hallo zusammen,

     

    wir richten User per Powershell Skript ein.

     

    Die Userinformationen werden von einer Webseite per ssh an ein PS Skript übergeben.

     

    Das automatische versenden der Crentials an den Anforder funktioniert aus irgendwelchen Gründen nicht immer.

     

    Kann man irgendwie prüfen, ob Send-MailMessage erfolgreich war und wenn nicht nochmal die Mail versenden ?

     

    Bisher habe ich folgendes probiert:

     

    #Mail versenden
    $Retrycount = 0
    Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Neuer AD-User: $username  +++" -Body $mailbody_admin
    #Mail ernuet versenden bei Fehler
    while($Error -eq 1 -and $Retrycount -lt 4) {
        "Mail an Admins konnte nicht versendet werden. Naechtser versuch in 5 Sekunden..."
        sleep 5
        Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Neuer AD-User: $username  +++" -Body $mailbody_admin
        $Retrycount = $Retrycount + 1
    }
    if($Retrycount -eq 4) {"Mail an Admins konnte 3 Mal nicht versendet werden"}

     

  15. Gerade eben schrieb testperson:

    Hi,

     

    um was für NAS Systeme handelt es sich denn? Ggfs. haben die eine Möglichkeit für diesen Task an Board.

    Ansonsten, wenn du es schon anpackst, würde ich in Richtung rsync über SSH schauen. rsync kann halt Block Level und dürfte dadurch nochmal wesentlich flotter sein.

     

    Gruß

    Jan

    Quelle: Windows Server 2016 (auf dem Server läuft auch das PS Skript)
    Ziel : QNAP NAS

×
×
  • Neu erstellen...