Jump to content

Kuddel071089

Members
  • Gesamte Inhalte

    345
  • Registriert seit

  • Letzter Besuch

Reputation in der Community

2 Neutral

Über Kuddel071089

  • Rang
    Senior Member

Letzte Besucher des Profils

184 Profilaufrufe
  1. Problem mit Get-PendingUpdate

    Hallo zusammen, ich habe seit kurzem Probleme mit dem Skript "Get-PendingUpdate.ps1 Quelle: https://gallery.technet.microsoft.com/scriptcenter/0dbfc125-b855-4058-87ec-930268f03285 Das Skript soll die ausstehenden Updates für unsere Server auswerten. Leider funktioniert es seit ein paar Tagen nicht mehr. Wenn ich es zum test ausführe, bekomme ich folgende Fehlermeldung: Ausnahme von HRESULT: 0x80244022 In C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PendingUpdates\Get-PendingUpdate.ps1:47 Zeichen:17 + ... $searchresult = $updatesearcher.Search("IsInstalled=0") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], COMException + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException Hat jemand eine Idee, was das Problem sein könnte ? Vielen Dank schon einmal
  2. GPO Problem: Zuweisung von Reg-Keys über Zielgruppen

    _User-Client-Test-Fehler Daten ermittelt am: 15.05.2018 10:59:28 Allgemein Details Domäne Domain.local Besitzer Domain\admin-user Erstellt 08.05.2018 09:21:50 Geändert 11.05.2018 11:43:46 Benutzerrevisionen 76 (AD), 76 (SYSVOL) Computerrevisionen 82 (AD), 82 (SYSVOL) Eindeutige ID {C457FADB-1948-4767-95B3-0140F136CE04} GPO-Status Aktiviert Verknüpfungen Standort Erzwungen Verknüpfungsstatus Pfad Domain Nein Aktiviert Domain.local/Domain Die Liste enthält Verknüpfungen zur Domäne des Gruppenrichtlinienobjekts. Sicherheitsfilterung Die Einstellungen dieses Gruppenrichtlinienobjekts können nur auf folgenden Gruppen, Benutzer und Computer angewendet werden: Name DOMAIN\Test-1 DOMAIN\Computer1$ DOMAIN\Test-5 DOMAIN\Computer2$ Delegierung Folgende Gruppen und Benutzer haben die angegebene Berechtigung für das Gruppenrichtlinienobjekt Name Zulässige Berechtigungen Geerbt DOMAIN\admin-User Einstellungen bearbeiten, löschen, Sicherheit ändern Nein DOMAIN\Domänen-Admins Einstellungen bearbeiten, löschen, Sicherheit ändern Nein DOMAIN\Domänencomputer Lesen Nein DOMAIN\test-1 Lesen (durch Sicherheitsfilterung) Nein DOMAIN\Organisations-Admins Einstellungen bearbeiten, löschen, Sicherheit ändern Nein DOMAIN\Computer1$ Lesen (durch Sicherheitsfilterung) Nein DOMAIN\Test-5 Lesen (durch Sicherheitsfilterung) Nein DOMAIN\Computer2$ Lesen (durch Sicherheitsfilterung) Nein NT-AUTORITÄT\Authentifizierte Benutzer Lesen Nein NT-AUTORITÄT\DOMÄNENCONTROLLER DER ORGANISATION Lesen Nein NT-AUTORITÄT\SYSTEM Einstellungen bearbeiten, löschen, Sicherheit ändern Nein Computerkonfiguration (Aktiviert) Einstellungen Windows-Einstellungen Registrierung machine-ohne-zielgruppenzuweisung (Reihenfolge: 1) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_LOCAL_MACHINE Schlüsselpfad Software\testgruppe Wertname machine-ohne-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x0 (0) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Element entfernen, wenn es nicht mehr angewendet wird Ja machine-mit-zielgruppenzuweisung (Reihenfolge: 2) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_LOCAL_MACHINE Schlüsselpfad Software\testgruppe Wertname machine-mit-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x1 (1) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Element entfernen, wenn es nicht mehr angewendet wird Ja Zielgruppenadressierung auf Elementebene: Sicherheitsgruppe Attribut Wert bool AND not 0 name DOMAIN\Role-CMT-user-Client-Test-Fehler sid S-1-5-21-60489278-131706977-3027038188-36438 userContext 0 primaryGroup 0 localGroup 0 machine-mit-neg-zielgruppenzuweisung (Reihenfolge: 3) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_LOCAL_MACHINE Schlüsselpfad Software\testgruppe Wertname machine-mit-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x2 (2) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Element entfernen, wenn es nicht mehr angewendet wird Ja Zielgruppenadressierung auf Elementebene: Sicherheitsgruppe Attribut Wert bool AND not 1 name DOMAIN\Role-CMT-user-Client-Test-Fehler sid S-1-5-21-60489278-131706977-3027038188-36438 userContext 0 primaryGroup 0 localGroup 0 Benutzerkonfiguration (Aktiviert) Einstellungen Windows-Einstellungen Registrierung user-ohne-zielgruppenzuweisung (Reihenfolge: 1) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_CURRENT_USER Schlüsselpfad Software\testgruppe Wertname user-ohne-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x0 (0) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Im Sicherheitskontext des angemeldeten Benutzers ausführen (Benutzerrichtlinienoption) Ja Element entfernen, wenn es nicht mehr angewendet wird Ja user-mit-zielgruppenzuweisung (Reihenfolge: 2) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_CURRENT_USER Schlüsselpfad Software\testgruppe Wertname user-mit-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x1 (1) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Im Sicherheitskontext des angemeldeten Benutzers ausführen (Benutzerrichtlinienoption) Ja Element entfernen, wenn es nicht mehr angewendet wird Ja Zielgruppenadressierung auf Elementebene: Sicherheitsgruppe Attribut Wert bool AND not 0 name DOMAIN\Role-CMT-user-Client-Test-Fehler sid S-1-5-21-60489278-131706977-3027038188-36438 userContext 1 primaryGroup 0 localGroup 0 user-mit-neg-zielgruppenzuweisung (Reihenfolge: 3) Allgemein Aktion Ersetzen Eigenschaften Struktur HKEY_CURRENT_USER Schlüsselpfad Software\testgruppe Wertname user-mit-zielgruppenzuweisung Werttyp REG_DWORD Wertdaten 0x2 (2) Gemeinsam Optionen Bei Fehler keine Elemente mehr für diese Erweiterung verarbeiten Nein Im Sicherheitskontext des angemeldeten Benutzers ausführen (Benutzerrichtlinienoption) Ja Element entfernen, wenn es nicht mehr angewendet wird Ja Zielgruppenadressierung auf Elementebene: Sicherheitsgruppe Attribut Wert bool AND not 1 name DOMAIN\Role-CMT-user-Client-Test-Fehler sid S-1-5-21-60489278-131706977-3027038188-36438 userContext 1 primaryGroup 0 localGroup 0
  3. GPO Problem: Zuweisung von Reg-Keys über Zielgruppen

    Stand jetzt Funktioniert die Zuweisung des Reg-keys für die Computerkonten wieder, Benutzerkonten weisen noch immer das gegenteilige Phänomen auf. Für Benutzer werden die „Zielgruppenadressierung auf Elementebene“ nicht korrekt angewendet. Es wird in der Test GPO der Benutzer gehandhabt als wäre er in der Sicherheitsgruppe vorhanden, obwohl er es nicht ist. In unseren Produktiv Richtlinie für Office werden 2 Keys zugewiesen die auch die Zugehörigkeit der gleichen Sicherheitsgruppe abfragen. Hier verhält es sich auch anders. Ist der Benutzer in der entsprechende Sicherheitsgruppe dann wird der erste Schlüssel „korrekt“ geschrieben und der zweite bekommt den Eintrag als würde er nicht zugehörig sein würde. Wird der Benutzer aus der Sicherheitsgruppe entfernt, werden die Werte weiterhin identisch geschrieben. Das Problem betrifft augenscheinlich alle GPO´s. Neustart wurde schon mehrfach durchgeführt.
  4. Hallo zuzsammen, wir haben aktuell Probleme bei der Zuweisung von RegKeys über die Zielgruppenadressierung mit AD-Gruppen. Es scheint so als, wenn die hinterlegte Gruppe kompplett ignoriert wird. Anbei noch 2 Screenshots von den Einstellungen. Die Gruppenrichtlinie selber wird auch korrekt ausgeführt. GPRESULT meldet keine Fehler. WIr nutzen die Zielgruppenadressierung auch in anderen Richtlinien ohne Probleme, nur bei der einen mit ReqKeys funktioniert es nicht. Hat jemand ein Idee für mich? Vielen Dank schon einmal
  5. Hallo zusammen, ich habe ein Skript geschrieben. welches das Eventloig unser Exchange Server ausliest und prüft, ob die Tägliche BareMetal-Sicherung erfolgreich abgeschlossen wurde. Das Skript läuft jeden Tag um 6 Uhr. Komischerweise werden nicht immer beide Server abgefragt. Mal ja, mal nein. Führe ich den Task dann danach einmal manuell aus, werden wieder beide Server korrekt abgefragt. Hat jemand eine Idee, was das Problem sein könnte? Hier das Skiprt cls $host.ui.RawUI.WindowTitle = "Exchange Backup Check v0.3" #Mailvariablen $Mailempfaenger = "exchange-admins@****.de" $smtpserver = "outlook.****.de" $absender = "Tool-Server@****.de" #Exchange Mailbox-Server abfragen #Verbindung zum Exchange aufbauen New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://Exchange-1/powershell Import-PSSession $ExSession cls $exs= @("Exchange-1","Exchange-2") #Checkschleife foreach($ex in $exs) { #Datum von gestern in Variable $heute = Get-Date -uFormat „%m/%d/%y“ #Erfolgeich-Mail if(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 4 -and ($_.TimeCreated -gt $heute)}) { $mailbody_ex = "C:\mailbody_$ex.txt" $event_ex_erfolgreich = Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 4 -and ($_.TimeCreated -gt $heute)} "$($event_ex_erfolgreich.TimeCreated)" | Out-File -FilePath $mailbody_ex -Append "$($event_ex_erfolgreich.Message)" | Out-File -FilePath $mailbody_ex -Append #Auslastung der Partition X in den Mailbody schreiben $auslastung_x = Get-WMIObject Win32_LogicalDisk -filter "name='x:'" -ComputerName $ex | Select freespace | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)} "" | Out-File -FilePath $mailbody_ex -Append "Frei Speicher auf Festplatte X: $auslastung_X GB" | Out-File -FilePath $mailbody_ex -Append $body = Get-Content -Raw $mailbody_ex Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> SUCCESS +++" -Body $body Remove-Item $mailbody_ex } #Fehler-Mail if(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 5 -and ($_.TimeCreated -gt $heute)}) { $mailbody_ex_error = "C:\mailbody_error_$ex.txt" $event_ex_nicht_erfolgreich = Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 5 -and ($_.TimeCreated -gt $heute)} "$($event_ex_nicht_erfolgreich.TimeCreated)" | Out-File -FilePath $mailbody_ex_error -Append "$($event_ex_nicht_erfolgreich.Message)" | Out-File -FilePath $mailbody_ex_error -Append "" | Out-File -FilePath $mailbody_ex_error -Append #Auslastung der Partition X in den Mailbody schreiben $auslastung_x = Get-WMIObject Win32_LogicalDisk -filter "name='x:'" -ComputerName $ex | Select freespace | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)} "" | Out-File -FilePath $mailbody_ex_error -Append "Frei Speicher auf Festplatte X: $auslastung_X GB" | Out-File -FilePath $mailbody_ex_error -Append $body = Get-Content -Raw $mailbody_ex_error #Fehlermeldung, dass das Backup nicht erfolgreich abgeschlossen wurde Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> ERROR +++" -Body $body Remove-Item $mailbody_ex_error } #Nicht gestartet Mail if(!(Get-WinEvent -LogName Microsoft-Windows-Backup -ComputerName $ex | Where-Object {$_.Id -eq 1 -and ($_.TimeCreated -gt $heute)})) { Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from $absender -Subject "+++ Exchange Backup: $ex --> ERROR +++" -Body "Das Backup wurde nicht ausgeführt" } }
  6. Invoke-WebRequest Post mit Variablen

    Naja wenn man alles in einem Befehl absendet wie ganz oben, nur halt ohne Variablen geht es ja auch
  7. Invoke-WebRequest Post mit Variablen

    Aktueller Stand: Habe zum Test versucht das erste Attribut zu posten. Leider ohne erfolgt: $data="{""name"":""$servername"",""type"":""VM"",""label"":""$funktion"",""attributes"":{""Ansprechparnter"":""$verntwortlicher""}}" Ausgabe in der ISE StatusCode : 200 StatusDescription : OK Content : {} RawContent : HTTP/1.1 200 OK Connection: Keep-Alive Content-Length: 0 Date: Tue, 23 Jan 2018 09:08:03 GMT Server: WEBrick/1.3.1 (Ruby/2.1.6/2015-04-13) Headers : {[Connection, Keep-Alive], [Content-Length, 0], [Date, Tue, 23 Jan 2018 09:08:03 GMT], [Server, WEBrick/1.3.1 (Ruby/2.1.6/2015-04-13)]} RawContentLength : 0
  8. Invoke-WebRequest Post mit Variablen

    Habe die Klammer entfernt... Zack ist der Eintrag da. Dann werde ich jetzt mal versuchen alle vorhandenen Infos in die Datenbank zu schreiben. Vielen Dank bis hier her
  9. Invoke-WebRequest Post mit Variablen

    Habe es zum test ein wenig gekürzt: $data="{""name"":""$servername"",""type"":""VM"",""label"":""$funktion""}}" Leider funktioniert es so auch nicht....
  10. Invoke-WebRequest Post mit Variablen

    ich habe es jetzt wie folgt versucht: $data = """name"":""$servername"", ""type"":""VM"", ""label"":""$funktion""" Leider ist in der Datenbank kein neuer Eintrag zu finden...
  11. Hallo zusammen, wir verwalten alle unsere Server in einer zentralen Datenbank, in RackTables. Da wir unsere VMs per PS Skript ausrollen, wollte ich die Erstellung eines neuen DB-Eintrages in das Ausroll-Skript einfügen. Leider scheitere ich gerade bei der Übergabe der im Skript verwendeten Variablen. Also mit Strings geht es: cls $apiUser="be28f0a29e7df3b9a455871abdb25d2a" $apiPass="a8b15299dbbc374a05c7b8068001b634" $res="http://serverdoku.*****.local:9292/object" $apiHash = ConvertTo-SecureString $apiPass -AsPlainText -Force $apiCred = New-Object Management.Automation.PSCredential ($apiUser, $apiHash) $data='{"name":"Test-Server","type":"VM","label":"TEST","attributes":{"Ansprechpartner":"Admin","ESX-Cluster":"Standard","CPU-Anzahl":"8","Betriebssystem":"Windows%GPASS%Server 2012 R2 64-Bit","ServiceRequest":"REQ-2018-12345","KST":"911 (RZ-Infrastruktur)"}}' try { Invoke-WebRequest -Uri $res -Credential $apiCred -Method Post -Body $data -ContentType "application/json" -TimeoutSec 10 } catch {} Jetzt würde ich gerne Servernamen etc. durch Variablen ersetzen. Sprich: $data='{"name":"$servername","type":"VM","label":"$funktion","attributes":{"Ansprechpartner":"$verantwortlicher","ESX-Cluster":"Standard","CPU-Anzahl":"8","Betriebssystem":"$os,"ServiceRequest":"REQ-$jahr-$request","KST":"$kst)"}}' Da ich auf dem Gebit noch keine Ahnung habe, weiß ich jetzt nicht genau, wo die " weg können etc. Die Variablen werden so nämlich nicht erkannt. Vielen Dank schon einmal :-)
  12. Leztes Logon Datum per PS auswerten

    Was ich vorhabe: Wenn sich ein User länger als 180 Tage nicht angemeldet hat, wird sich User per Ablaufdatum gesperrt. Falls er jetzt nach z.B. 200 Tagen aus einer langen Krankheit zurück kommt, wird der User wieder freigeschaltet. Wenn sich ein User länger als z.B. 360 Tage nicht angemeldet hat. wird er deaktiviert und alle Gruppenmitgliedschaften entzogen... Ich werde es dann mal mit LogonTimeStamp versuchen....
  13. Leztes Logon Datum per PS auswerten

    Hallo Nils, vielen Dank für die schnelle Antwort. Mit dem PS Skript wollte ich, wenn denn alles klappt, den Usern ein Ablaufdatum setzten bzw. die ganz alten direkt deaktivieren. Wenn ich jetzt eine Auswertung mit oldcmp machen, müsste ich dann also die Daten verarbeiten richtig?
  14. Leztes Logon Datum per PS auswerten

    Hallo zusammen, ich bin gerade dabei ein Skript zu schreiben, welches unser AD von Altlasten befreien soll. Ziel ist es, alle User zu deaktivieren, die sich länger als 180 Tage nich am System angemeldet haben. Dazu habe ich folgendes Skript geschrieben, wo ich leider am Vergleich scheitere $tage = 180 #Abfrage aller aktiven User $aktive_user = Get-ADUser -Filter {enabled -eq $true} -SearchBase "OU=****,DC=****-ad,DC=local" -Properties * | Sort #Ablaufdatum von vor X Tagen definieren $ablaufdatum = (get-date -date ((get-date).AddDays(-$tage)) -Format "dd.MM.yyyy"); "Heute vor 180 Tagen: $ablaufdatum" "" #Abfrage der letzten Anmeldung jedes Users an den drei DCs foreach($user in $aktive_user) {$letzte_anmeldung_dc1 = Get-ADUser $user.SamAccountName -Properties * -Server DC1 | Select LastLogon$letzte_anmeldung_dc2 = Get-ADUser $user.SamAccountName -Properties * -Server DC2 | Select LastLogon$letzte_anmeldung_dc3 = Get-ADUser $user.SamAccountName -Properties * -Server DC3 | Select LastLogon#Datum formatieren fü den Vergleich$letzte_anmeldung_dc1 = [dateTime]::FromFileTime($letzte_anmeldung_dc1.LastLogon).ToString('dd.MM.yyyy')$letzte_anmeldung_dc2 = [dateTime]::FromFileTime($letzte_anmeldung_dc2.LastLogon).ToString('dd.MM.yyyy')$letzte_anmeldung_dc3 = [dateTime]::FromFileTime($letzte_anmeldung_dc3.LastLogon).ToString('dd.MM.yyyy')#Check ob der User sich länger als X Tage nicht angemeldet hatif($letzte_anmeldung_dc1 -lt $ablaufdatum -and $letzte_anmeldung_dc2 -lt $ablaufdatum -lt $letzte_anmeldung_dc3 -gt $ablaufdatum)) { "Der User $($user.SamAccountName) ist abgelaufen / Letzte Anmeldungen: DC1: $letzte_anmeldung_dc1, DC2: $letzte_anmeldung_dc2; DC3: $letzte_anmeldung_dc3" } } Irgendwie wird beim Vergleich nur der erste Tag im Datum verglichen. Vielen Dank schon einmal
  15. Win10: LAN-Adapter Prioisierung

    1.5 ist die IP des LAN-Adapters. Das Notebook pingt also sich selber an
×