Jump to content

MurdocX

Moderators
  • Gesamte Inhalte

    2.716
  • Registriert seit

  • Letzter Besuch

Beste Lösungen

  1. MurdocX's post in Win7 IPv6 lässt sich nicht deaktivieren wurde als beste Lösung markiert.   
    Bitte nicht wild einfach Parameter verstellen in der Hoffnung irgendwann mal gefühlt einen Treffer zu landen.
     
    Deaktiviert den Dienst "IP-Helper" (IP-Hilfsdienst, alias iphlpsvc). Damit werden autom. die Teredo-Dienste nicht mehr funktionieren. Das ist der offizielle MS weg. 
     
    Bekommt Ihr öffentliche IP-Adressen oder nur autom. generierte?
  2. MurdocX's post in Windows Server 2016 L2TP (mit IPSec) VPN Server hinter FritzBox wurde als beste Lösung markiert.   
    Einfacher, sicherer und zuverlässiger als mit der Fritzbox wird schwer, außer mit anderen Produkten. Aber manche wollen sich wohl lieber quälen  
     
     
  3. MurdocX's post in Windows 10 S Modus trotz Neuinstallation wurde als beste Lösung markiert.   
    Probier mal diesen Workaround: https://www.borncity.com/blog/2017/11/09/defender-application-control-blockt-programmedownloads/
  4. MurdocX's post in GPO Admin Delegierung wurde als beste Lösung markiert.   
    Beide Varianten verfolgen unterschiedliche Ansätze mit dem gleichen Ergebnis. 
     
    Vorteil Variante 1:
    - Es wäre einmal definiert und für alle gleich nutzbar.
    Nachteil Variante 1:
    - Ein einfaches Abändern der Gruppe oder eine Umkehrbarkeit ist nicht einfach.
     
    Vorteil Variante 2:
    - Du kannst einfach die Gruppen wechseln und bist insgesamt flexibler
    Nachteil Variante 2:
    - Das Skript muss regelmäßig laufen u. Skriptfehler können nicht schnell erkannt werden
     
    Die Liste kann noch beliebig fortgeführt werden. Ich würde mich für die Variante 1 entscheiden, weil es einfach einmal einzurichten ist und alle GPOs gleich die richtigen Berechtigungen haben.
  5. MurdocX's post in WDS 2016 - Antwortdatei Windows 10 - 1809 wurde als beste Lösung markiert.   
    Du solltest die Dateien in eine Setup-Konfig und eine Windows-Konfig aufteilen. Nicht alles in eine packen. 
     
    Das Zuweisen der unattended.xml für das Image kannst du hier sehen: 
     
    it-explorations.de | Teil 3: Unattended Images im WDS zuweisen
    https://www.it-explorations.de/teil-3-unattended-images-im-wds-zuweisen/
  6. MurdocX's post in Benutzerprofile - Desktop Weiterleitung wurde als beste Lösung markiert.   
    Das was du meinst sind Roaming-Profiles. Was du konfiguriert hast, hört sich wie Umleitungen (redirections) an. -> Umleitungen != Roaming-Profiles <-
     
    Windows Pro | Roaming Profiles einrichten über AD-Benutzer und Computer, GPOs
    https://www.windowspro.de/wolfgang-sommergut/roaming-profiles-einrichten-ueber-ad-benutzer-computer-gpos
     
  7. MurdocX's post in Wo speichert Windows10 Zugangsdaten für Netzlaufwerke wurde als beste Lösung markiert.   
    Den aktuell verbunden Benutzer bekommst du mit:
    raus.
  8. MurdocX's post in Powershell Script per Windows Aufgabenplanung starten klappt nicht wurde als beste Lösung markiert.   
    Das ist dein Weg zum Glück. Alle sonstigen, oben genutzten Argumente, sind falsch. 
     
    Ganz einfach:
    powershell.exe -file "C:\PfadZumScript\Script.ps1"
     
    Nicht mehr, nicht weniger.
     
    Hierbei noch sicherstellen, das das Passwort in der Aufgabenplanung korrekt gesetzt wurde und du keinen Tippfehler hast.
    Zum Testen niemals "Rechtsklick auf die ps1-Datei > Mit Powershell ausführen" wählen. Das ist der häufigste Fehler der passiert! Hier immer eine neue Powershell-Session aufmachen und das Skript da drin ausführen lassen -> PS C:\Users\........> ."C:\MeinPfadZumSkript.ps1" Falls das einwandfrei läuft, können andere Sachen kontrolliert werden.
  9. MurdocX's post in Windows 10 Pro 1709 bleibt auf Build 125 stehen wurde als beste Lösung markiert.   
    Falls du ein Anderes einsetzt, dann muss dieses den Key setzen.
    https://support.microsoft.com/en-us/help/4072699/january-3-2018-windows-security-updates-and-antivirus-software
  10. MurdocX's post in MDT Deployment hängt mit "Vorbereitung läuft" Meldung wurde als beste Lösung markiert.   
    Hier habe ich genau das Richtige für Dich:
     
    Understanding Failures and Log Files ( Windows Setup )
    https://technet.microsoft.com/en-us/library/ee851579%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
  11. MurdocX's post in Powershell - CMD wurde als beste Lösung markiert.   
    Technet | PowerShell: Running Executables
    https://social.technet.microsoft.com/wiki/contents/articles/7703.powershell-running-executables.aspx
     
    Dort sind alle gängigen Wege Anwendungen auszuführen aufgelistet und gut beschrieben. 
  12. MurdocX's post in Verknüpfung Systemsteuerung/Verwaltung zeigt auf Profilpfad von Administrator wurde als beste Lösung markiert.   
    Ich habe folgenden Eintrag bei mir exportiert. Dies in einer "reg"-Datei abspeichern und ausführen.
    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders] "Common Administrative Tools"="C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Administrative Tools" Es sei dazu gesagt, dass alle Änderungen an der Registry auf eigene Verantwortung durchgeführt werden  ;)
  13. MurdocX's post in Remotedesktop-Lizenzserver abfragen? wurde als beste Lösung markiert.   
    Die WMI-Klasse Win32_TSLicenseServer ist nur auf dem RDS-Lizenzserver erreichbar. Die Powershell als "Administrator" starten. 
     
    MSDN | Win32_TSLicenseServer class
    https://msdn.microsoft.com/en-us/library/aa383806(v=vs.85).aspx
     
    MSDN | Remote Desktop License Server classes
    https://msdn.microsoft.com/en-us/library/aa383481(v=vs.85).aspx
     
    MSDN | Remote Desktop Services Configuration classes
    https://msdn.microsoft.com/en-us/library/aa383477(v=vs.85).aspx
     
    in der Letzten solltest du für Deine Abfrage fündig werden. 
  14. MurdocX's post in PS: Java-Version ermitteln und deinstallieren wurde als beste Lösung markiert.   
    Hallo,
     
    ich würde die Versionen anhand des Versionseintrag unterscheiden und das ganze nicht so kompliziert machen. 
     
    Hier wird erst mal alles gesammelt was vorhanden ist.  Danach Filtern wir nach allem mit dem Namen "Java" und einer älteren Version als die angegebene.
    $objJavaProgramList = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like 'Java*' -and $_.Version -lt '8.0.1010.13'} Nun können wir im nächsten Schritt alle gesammelten alten Versionen entfernen. Dies kannst du mit einem ForEach durchführen.
    ForEach ($objJavaProgramItem in $objJavaProgramList) { $objJavaProgramItem.Uninstall() } Anstatt ".Uninstall()" zu verwenden, kannst du deine msiexec.exe Routine durchführen. Das "x" würde ich auch nicht an das Ende setzten, da das eventuell als Protokollierungsoption gewertet werden könnte.
     
    So würde ich das ungefähr umsetzen  ;)
    Start-Process -FilePath "msiexec.exe" -ArgumentList "/x $($objJavaProgramItem.IdentifyingNumber) /qn /norestart" Nun genug der Musterlösung....  :o
  15. MurdocX's post in Get-ACL Gruppenname herausfiltern und Permission ändern wurde als beste Lösung markiert.   
    Hallo Molle,
     
    mit deinem "recht armen" Ansatz kommst du nicht weit. Ich hab Dir das benötigte Skript geschrieben und getestet. Es sucht in dem angegebenen Pfad nach den Ordnern und Unterordnern. Ließt die Berechtigungen aus und schreibt die mit 'ReadandExecute" zu 'Modify' um. Die Vererbung ist aktiviert. 
     
    Die 3 Variablen sind auszufüllen:
     
    $strPfad = 'LW:\ORDNER'
    $strGruppenbezeichnung = 'MB-DL'
    $strDomäne = 'DOMÄNE' # Domäne ohne Endung wie z.B. '.local' -> NETBIOS-NAME
     
    Viel Erfolg ;-)
    # # Author: Jan Weis # www.it-explorations.de # # --- BENUTZER VARIABLEN ---# $strPfad = 'LW:\ORDNER' $strGruppenbezeichnung = 'MB-DL' $strDomäne = 'DOMÄNE' # Domäne ohne Endung wie z.B. '.local' -> NETBIOS-NAME # --- SYSTEM VARIABLEN --- # # FileSystemRights Flags $objFileSystemRightModify = [System.Security.AccessControl.FileSystemRights]'Modify' $objFileSystemRightReadExecute = [System.Security.AccessControl.FileSystemRights]'ReadAndExecute' # InheritanceFlags Flags $objInheritanceFlagDirectory = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit $objInheritanceFlagFile = [System.Security.AccessControl.InheritanceFlags]::None # Common Flags $objAccessControlTypeAllow = [System.Security.AccessControl.AccessControlType]::Allow $objPropagationFlagsNone = [System.Security.AccessControl.PropagationFlags]::None # --- SKRIPT ---# Foreach ($objOrdnerItem in (Get-ChildItem -Path $strPfad)) { # Berechtigungen abrufen $objOrdnerItemACL = Get-Acl -Path $objOrdnerItem.FullName # Prüfe jedes Berechtigungsobjekt ob es den gewünschten Namen beinhaltet UND die Berechtigung 'ReadAndExecute' beinhaltet [String[]]$strACLGruppenListe = ($objOrdnerItemACL.Access | Where-Object {$_.IdentityReference -match $strGruppenbezeichnung -and $_.FileSystemRights -like 'ReadAndExecute*'}).IdentityReference.Value # Passen die Berchtigung für jede gefundene Gruppe an foreach ($strACLGruppenItem in $strACLGruppenListe) { # Für jede gefundene Gruppe wird die Berechtigung auf 'Modify' angepasst # Domäne entfernen $strACLGruppenItem = $strACLGruppenItem.replace("$strDomäne\",'') # NTAccount-Object anlegen $objADSecGruppe = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList ($strACLGruppenItem) # FILESYSTEMACCESSRULE-OBJECT ANLEGEN $objDirectoryAceRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($objADSecGruppe, $objFileSystemRightModify, $objInheritanceFlagDirectory, $objPropagationFlagsNone, $objAccessControlTypeAllow) # NEUE ACL HINZUFÜGEN $objOrdnerItemACL.AddAccessRule($objDirectoryAceRule) # NEUE ACL AUF DAS OBJEKT SCHREIBEN $objOrdnerItemACL | Set-Acl -Path $objOrdnerItem.FullName } } Um eine Ausgabe zu bekommen, kannst du noch unter dem letzten Command "Neue ACL auf das Objekt schreiben" folgenden Befehl darunter setzen: 
    Write-Host ":: [Berechtigung angepasst] Gruppe: '$strACLGruppenItem'; Pfad: '$($objOrdnerItem.FullName)'" -ForegroundColor Yellow
  16. MurdocX's post in VBS einen bestimmten Ordner suchen und nach Files scannen wurde als beste Lösung markiert.   
    Für dein Problem in VBS kann ich Dir leider keine Lösung aufzeigen, jedoch als gute Alternative die Powershell.
     
    Spezial 1
    Hier werden in einem Befehl die PDF-Dokumente gesucht, alle älteren als 7 Tagen gefiltert und diese Auswahl dann gelöscht.
    Get-ChildItem -Path 'LAUFWERK:\Scanning\*' -Include '*.pdf' | Where-Object {$_.LastWriteTime -le $((Get-Date).AddDays(-7))} | Remove-Item -Force Spezial 2
    Du hast eine große Struktur und in den verschiedensten Unterordnern die Scannerverzeichnisse, dann würde das Skript so aussehen:
    $Pfade = Get-ChildItem -Path 'DEIN PFAD' -Recurse -Directory foreach ($AktiverPfad in $Pfade) { if ($AktiverPfad.Name -like '*Scanning*') { Get-ChildItem -Path ($AktiverPfad.FullName) -Include '*.pdf' | Where-Object {$_.LastWriteTime -le $((Get-Date).AddDays(-7))} | Remove-Item -Force } }
  17. MurdocX's post in Überlange Dateinamen per Script kürzen wurde als beste Lösung markiert.   
    Ich hab für Dich ein Skript geschrieben, welche genau das macht, was du brauchst :)
    Viel Spaß damit!
    #requires -Version 3 function Invoke-RenameFolder { param([STRING]$StartEbene,[STRING]$AktuelleEbene,[INT]$Tiefe) $StartTiefe = $StartEbene.Split('\').Count $Ordner = Get-ChildItem -Path $AktuelleEbene -Directory foreach($obj in $Ordner) { [INT]$AktuelleTiefe = ($obj.FullName.ToString()).Split('\').Count if (($AktuelleTiefe - $StartTiefe) -le $Tiefe) { Invoke-RenameFolder -StartEbene $StartEbene -AktuelleEbene $($obj.FullName) -Tiefe $Tiefe } } $SplittedPath = $AktuelleEbene.Split('\') For ($x = 0;$x -lt $($SplittedPath.Count-1)) { if ($JointPath -like '') { $JointPath = $SplittedPath[$x].ToString() } else { $JointPath = "$JointPath\$($SplittedPath[$x].ToString())" } $x++ } do { $i++ $result = Test-Path -Path "$JointPath\$i" # Wenn der Pfad existiert, dann Zähle eins höher } while ($result -eq $true) try { if ($AktuelleEbene -notlike $StartEbene) { Rename-Item -Path $AktuelleEbene -NewName $i -ErrorAction Stop Write-Host "[OK] Erfolgreich umbenannt: '$AktuelleEbene' > '$JointPath\$i'" -ForegroundColor Green } } catch { Write-Host "Fehler: $_" -ForegroundColor Red } } <# !! INFO: START ist die Tiefe 0 !! #> [String]$START = 'D:\TEST' [INT]$Tiefe = 2 Invoke-RenameFolder -StartEbene $START -AktuelleEbene $START -Tiefe $Tiefe
  18. MurdocX's post in RODC 2008R2 wurde als beste Lösung markiert.   
    https://technet.microsoft.com/de-de/library/dd464018(v=ws.10).aspx
     
    Überprüfen von "adprep /rodcprep" Nach Ausführung des adprep /rodcprep-Befehls wird eine Meldung im Eingabeaufforderungsfenster angezeigt, die besagt, dass alle Partitionen aktualisiert wurden. Sie können den erfolgreichen Abschluss vonadprep /rodcprep auch mithilfe des folgenden Verfahrens überprüfen.
    So überprüfen Sie den erfolgreichen Abschluss von adprep /rodcprep Melden Sie sich an einer administrativen Arbeitsstation an, auf der ADSIEdit installiert ist. ADSIEdit wird standardmäßig auf Domänencontrollern installiert, die unter Windows Server 2008 oder Windows Server 2008 R2 ausgeführt werden.
    Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie ADSIEdit.msc ein, und klicken Sie dann auf OK.
    Klicken Sie auf Aktion und dann auf Verbindung herstellen mit.
    Klicken Sie auf Bekannten Namenskontext auswählen, wählen Sie Konfiguration aus der Liste der verfügbaren Namenkontexte aus, und klicken Sie dann auf OK.
    Doppelklicken Sie auf Konfiguration, und doppelklicken Sie dann auf CN=Configuration,DC=Stammdomäne_der_Gesamtstruktur,
    wobei Stammdomäne_der_Gesamtstruktur der definierte Name der Stammdomäne der Gesamtstruktur ist.
    Doppelklicken Sie auf CN=ForestUpdates.
    Klicken Sie mit der rechten Maustaste auf CN=ActivedirectoryRodcUpdate, und klicken Sie dann auf Eigenschaften.
    Bestätigen Sie, dass das Revision-Attribut auf 2 festgelegt ist, und klicken Sie dann auf OK.
  19. MurdocX's post in Powershell: Gruppen umbennen wurde als beste Lösung markiert.   
    Ok, hab´s noch angepasst. Jetzt wird alles geändert. SamAccountName, CN und Name  ;)
    Write-Host 'Gruppen werden erfasst...' -NoNewline $RW_Gruppen = Get-ADGroup -Filter {Name -like '*-RWCEMF'} $R_Gruppen = Get-ADGroup -Filter {Name -like '*-RF'} Write-Host '[OK]' -ForegroundColor Green foreach ($RWobj in $RW_Gruppen) { try { $RWName = (($RWobj).Name).Replace('RWCEMF','RW') Set-ADGroup -Identity $RWobj -SamAccountName $RWName Rename-ADObject -Identity $RWobj -NewName $RWName Write-Host "[+] $($RWobj.Name) wurde erfolgreich in $RWName umbenannt." -ForegroundColor Green } catch { Write-Host "[ERR] $($RWobj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red } } foreach ($Robj in $R_Gruppen) { try { $RName = (($Robj).Name).Replace('RF','R') Set-ADGroup -Identity $Robj -SamAccountName $RName Rename-ADObject -Identity $Robj -NewName $RName Write-Host "[+] $($Robj.Name) wurde erfolgreich in $RName umbenannt." -ForegroundColor Green } catch { Write-Host "[ERR] $($Robj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red } }
×
×
  • Neu erstellen...