Jump to content

MurdocX

Moderators
  • Gesamte Inhalte

    2.745
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von MurdocX

  1. Verdammt... :rolleyes: ... Ich korrigiere: Der DNS-Client tuts ;)
  2. 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
  3. Hmmm... Ich hab da eher an diesen Absatz gedacht in Bezug auf "Betrifft: Windows Server 2008, Windows Server 2008 R2" , aber ich bin natürlich auch nicht unfehlbar :D
  4. Wenn ich mich noch richtig entsinnen kann, dann aktualisiert der Dienst "DHCP-Client" "DNS-Client" die dynamischen DNS-Einträge. Außer der Computer ist nicht in der Domäne, dann übernimmt dies der DHCP-Server. https://technet.microsoft.com/de-de/library/cc771255.aspx Ich würde mal das Debugging vom DHCP-Client-Service aktivieren in der Ereignisanzeige unter "DHCP-Client"
  5. $strComputer = "." $colItems = get-wmiobject -class "Win32_DiskQuota" -namespace "root\CIMV2" ` -computername $strComputer foreach ($objItem in $colItems) { write-host "Disk Space Used: " $objItem.DiskSpaceUsed write-host "Limit: " $objItem.Limit write-host "Quota Volume: " $objItem.QuotaVolume write-host "Status: " $objItem.Status write-host "User: " $objItem.User write-host "Warning Limit: " $objItem.WarningLimit write-host } Vielleicht ist das für Dich eine Lösung?
  6. Werden die IP´s über DHCP zugewiesen?
  7. Ok, dann müssen wir genauer klären was du genau benötigst. Was meinst du mit auswerten? Die Ordnergröße auslesen? Die verbrauchte MB der Quotas jedes einzelnen? oder ganz was anderes? Wolltet du diese nicht auslesen? AFAIK ist das nur mit der cmd "fsutil quota query F:" möglich. Das solltest du und das Benutzen von FSRM (File Server Ressourcen Manager) mit Quotas ist auch viel sinniger u. effektiver als die Datenträgerkontingente!
  8. Get-FsrmQuota | sort -Property Usage -Descending | ft Path,@{Expression={[INT]$($_.Usage/1MB);"MB"};Label="Auslastung"} | Out-File -PSPath "C:\Quota-Auslastung.txt" -Encoding UTF8 Meintest du so etwas?
  9. Unter den "Lokalen Richtlinien > Zuweisen von Benutzerrechten > Anmelden über Remotedesktopdienste" ist per se schon die lokale "Administratoren"-Gruppe enthalten. Diesen neuen Admin-Benutzer nochmal in die zweite Gruppe der "Remotedesktopbenutzer" hinzuzufügen, wäre doppelt gemoppelt ;)
  10. MurdocX

    RODC 2008R2

    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.
  11. Um den Fehler abzufangen kannst du es mit Try,Catch probierten try { # Befehle... } catch { $Fehler = "Fehler; Zeile: $($_.InvocationInfo.ScriptLineNumber); $_" Write-Host $Fehler out-file -FilePath PFAD -Append -Encoding utf8 -InputObject $Fehler }
  12. Klar ;-) Poste doch mal den Quellcode deines Skriptes, dann könnte man den leicht verändern oder noch ergänzen.
  13. Alternativ kannst du in Powershell mit der Funktion "Get-FileHash" Dateien vergleichen.
  14. Lokal kannst du dich mit ".\<Account>" oder "<Computername>\<Account>" anmelden.
  15. @ Member ;) Genau das was ich geschrieben habe, nur für ein englischsprachiges Betriebssystem... Hat´s geklappt? ;)
  16. gp-deall-bdv-support-local-admin = Computereinstellungen, Hinzufügen von Supportgruppe in lokale Admins auf den Rechnern So wird's gemacht: Computerkonfiguration > Richtlinen > Windows-Einstellungen > Sicherheitseinstellungen > Eingeschränkte Gruppen öffnen Gruppe hinzufügen "Administratoren" (für ein deutsches Windows) Mitglieder dieser Gruppe "Administrator", "DEINE SUPPORTGRUPPE"
  17. Welches Ergebnis kommt bei einer RSOP-Zusammenfassung in Bezug auf "Angewendete Gruppenrichtlinienobjekte / Folgende herausgefilterte Gruppenrichtlinien werden nicht angewendet" raus ? gpresult /R Die ausführliche Variante wäre: gpresult /Z > C:\Richtlinien.log
  18. Ich hab ein kurzes Skript für eine OU geschrieben. Dies ist nur eine von vielen möglichen Alternativen wie so etwas geschrieben und gestaltet werden könnte. Dies könntest du als Ansatz nutzen. EDIT: In verbesserter Form und nochmal übersichtlicher gestaltet. :) #requires -Version 1 -Modules ActiveDirectory Clear-Host # Variablen [STRING]$USER = '' [STRING]$BENUTZER = '' [ARRAY]$OU_USER = '' [ARRAY]$GROUP_MEMBER = '' Write-Host '[ AD-Abfragen... ] ' -NoNewline # Abfragen try { $OU_USER = (Get-ADUser -SearchBase 'LDAP-PFAD...' -Filter {Name -like '*'} -Server FQDN).SamAccountName $GROUP_MEMBER = (Get-ADGroupMember -Identity 'AD-GRUPPE...' -Server FQDN).SamAccountName Write-Host "[OK]`n" -ForegroundColor Green } catch { Write-Host "[Fehler]`n" -ForegroundColor Red Exit } Write-Host '[ Verarbeitung - OU-Benutzer]' # Verarbeitung ForEach ($USER in $OU_USER) { # Prüfe die Benutzer, ob diese Mitglied der Gruppe sind. If ($GROUP_MEMBER -contains $USER) { Write-Host -Object ":: OU-Benutzer:'$USER' ist Mitglied der Gruppe" -ForegroundColor Green } else { Write-Host -Object ":: OU-Benutzer:'$USER' ist KEIN Mitglied der Gruppe!" -ForegroundColor Yellow } } Write-Host "`n[ Verarbeitung - Gruppen-Benutzer]" ForEach ($BENUTZER in $GROUP_MEMBER) { # Prüfe die Gruppenmitglieder ob der Benutzer in der OU vorhanden ist. If ($OU_USER -contains $BENUTZER) { Write-Host -Object ":: Gruppen-Benutzer:'$BENUTZER' existiert in der OU." -ForegroundColor Green } else { Write-Host -Object ":: Gruppen-Benutzer:'$BENUTZER' existiert NICHT in der OU!" -ForegroundColor Yellow } } Write-Host "`n[ Skript Ende ]"
  19. Aus eigener Erfahrung kann ich nur sagen, dass gewachsene "Strukturen" schwer / nahezu unmöglich neu zu strukturieren sind. Du musst wissen wo jeder den Zugriff braucht und wo lieber nicht... Bei Umstrukturierungen finden die Benutzer ihre Daten nicht wieder.. 35 Firmen in die Planung miteinbeziehen? Für 35 Betriebe das Konzept verkaufen und umsetzen. Ich finde jeden einzelnen Punkt schon sehr Aufwändig...Alternative? Eine parallele Struktur nach und nach.. mit dem AGDLP-Prinzip aufbauen. Stück für Stück und langsam umziehen.
  20. MurdocX

    Sites and Services

    Da der Client über das DNS seinen Standort mit dem dazugehörigen DC sucht, tendiere ich gefühlt dazu, dass du die C-Netze eintragen musst. Fall keine "Netlogon" Fehlermeldung am DC erzeugt wird, würde ich es so lassen :rolleyes:
  21. Um Fehler abzufangen könntest du es mit "Try{} Catch{}" probieren. Der Fehler wird in der "$_" gespeichert. Try { # Befehl } Catch { # Ausführung im Fehlerfall Write-Host "$_" }
  22. Ein Auszug aus der Technet für "Unblock-File" "The Unblock-File cmdlet lets you open files that were downloaded from the Internet. It unblocks Windows PowerShell script files that were downloaded from the Internet so you can run them, even when the Windows PowerShell execution policy is RemoteSigned. By default, these files are blocked to protect the computer from untrusted files." Diese Blockade ist auch unter "Eigenschaften" > "Allgemein" unten zu sehen. Dort wird mit einem Sicherheitshinweis darauf hingewiesen, dass sie evtl. blockiert wurde. Sie kann dort direkt entsperrt werden. Bei ZIP-Dateien wird der gesamte Inhalt entsperrt.
  23. Deine Lösung ist kurz und prägnant, das ist nicht von der Hand zuweisen :D Vordefinierte PS-Skripte hab ich in den technet-blogs gefunden. Hier hat sich einer die Mühe gemacht das Prozedere zu vereinfachen :) http://blogs.technet.com/b/heyscriptingguy/archive/2014/11/22/weekend-scripter-use-powershell-to-get-add-and-remove-ntfs-permissions.aspx
  24. @daabm Jain ;-) @Kuddel Hier ein kleines Beispiel für die Berechtigung "Ändern" auf ein Verzeichnis. Das ist aus einem Skript von mir. # Definition $objUser = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList ("DOMÄNE\USER") $colRights = [System.Security.AccessControl.FileSystemRights]'Modify' $InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit $PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None $objType = [System.Security.AccessControl.AccessControlType]::Allow $objACE = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($objUser, $colRights, $InheritanceFlag, $PropagationFlag, $objType) $acl = Get-Acl $FQPath $acl.AddAccessRule($objACE) # DO! $acl | Set-Acl $FQPath
  25. Get-ADGroupMember -Identity "GruppeABC" | Get-Member Dieser Befehl liefert Dir die Methoden und Eigenschaften des Befehls "Get-ADGroupMember". Über die Pipe mit FL (Format-List) kannst du dann dir die gewünschten Eigenschaften anzeigen lassen.
×
×
  • Neu erstellen...