Skocz do zawartości

Wyszukaj

Wyświetlanie wyników dla tagów 'server' .

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj za pomocą nazwy autora

Typ zawartości


Forum

  • Administracja
    • Sprawy techniczne
  • Komputery
    • Komputery Stacjonarne
    • Komputery Przenośne
    • Systemy Operacyjne Microsoft
    • Internet i Sieci Komputerowe
    • Urządzenia mobilne
    • Tuning
    • Software i programy
    • Linux/Unix
    • GRY
    • Battlefield 3
    • Combat Arms
    • Nowiny z sieci
    • Recenzje i poradniki
    • Felietony
  • Hyde park
    • Tematy łamiące regulamin
    • Masarnia
    • OFF-TOP

Znajdź wyniki...

Znajdź wyniki które...


Data utworzenia

  • Rozpoczęcie

    Zakończenie


Ostatnia aktualizacja

  • Rozpoczęcie

    Zakończenie


Filtruj po ilości...

Dołączył

  • Rozpoczęcie

    Zakończenie


Grupa podstawowa


Znaleziono 1 wynik

  1. Całkiem niedawno stanąłem w obliczu szybkiego przejrzenia zasobów Active Directory pod kątem wyłączonych kont i zrobienia porządków na udziale sieciowym na którym są udostępnione foldery użytkowników. Ponieważ praktycznie od wdrożenia usług poprzez terminal serwer nikt nic z tym nie robił było sporo rzeczy do poprawki. Oczywiście całą pracę można wykonać ręcznie, ale pytanie po co? Łatwiej posłużyć się skryptem w powershell który zrobi to za nas 1. Listowanie wyłączonych kont dla konkretnego oddziału firmy Get-ADUser -Filter 'enabled -eq $false' -SearchBase “OU=Users,OU=OUOddział,DC=Firma“ Jeżeli pominiemy ograniczenie oddziału dostaniemy listę wszystkich wyłączonych kont w AD, a tego nie chcemy, dlatego zawężamy kryteria wyszukiwania. Dzięki temu zapytaniu mamy coś takiego DistinguishedName CN=nazwa_usera,OU=Users,OU=OUOddział,DC=FirmaEnabled FalseGivenName xxxxxName xxxxxObjectClass userObjectGUID 76279cff-e635-xxxxx-b3ff-xxxxxxSamAccountName xxxxxxxxxSID S-1-5-21-xxxxxxxx-1726128142-xxxxxx-12760Surname xxxxxxUserPrincipalName xxxxx@domena.com jak dla nas nieco za wiele danych, więc je ograniczamy: Get-ADUser -Filter 'enabled -eq $false' -SearchBase “OU=Users,OU=OUOddział,DC=Firma“ | Select Name, GivenName, Surname Wynikiem tego działania jest lista:LOGIN (jak i też nazwa homedirectory), Imię, nazwisko 2. Mając tak przygotowaną listę możemy już przystąpić do właściwej analizy udziału z katalogami użytkowników Test czy lokalizacja istnieje: Test-Path -path serwerudział$nazwa_katalogu Jest to o tyle istotne, że nie wiemy czy katalog został założony, a jeżeli tego nie sprawdzimy powłoka będzie nam niepotrzebnie zwracać komunikaty o błędach. Rozwiązujemy ten problem prostą pętlą ForEach-Object {$username = $_.name; if (Test-Path -path serwerudział$$username) {Write-Host "Directory OK " $username $_.givenname $_.surname} Else {Write-Host "Directory Not exists " $username $_.givenname $_.surname} } Jak widać w przykładzie powyżej podałem już nazwy zmiennych których użyłem w poleceniu ($username, $_.givenname, $_.surname, - odpowiadają one Select Name, GivenName, Surname). 3. Oczywiście nazwy katalogów trzeba zmieniać (jeżeli istnieją) rename-Item -Path serwerudział$$username -NewName serwerudział$ARCHIWUM_$username; Poruszanie się na udziałach za pomocą odwołań do serwera (serwerudział$) znacząco ułatwia sprawę - nie zawsze mamy czas na mapowanie wszystkich potrzebnych udziałów. W Windowsie mamy możliwość przypisania tylko 24 liter dla nazw dysków, więc posiadanie sporej liczby udziałów mocno komplikuje sprawę, gdy trzeba wykonać taką operację na kilku lokalizacjach. 4. Składamy wszystko do kupy i otrzymujemy: Get-ADUser -Filter 'enabled -eq $false' -SearchBase “OU=Users,OU=OUOddział,DC=Firma“ | Select Name, GivenName, Surname | ForEach-Object {$username = $_.name; if (Test-Path -path serwerudział$$username) {rename-Item -Path serwerudział$$username -NewName serwerudział$ARCHIWUM_$username; Write-Host "Directory OK " $username $_.givenname $_.surname} Else {Write-Host "Directory Not exists " $username $_.givenname $_.surname} } I mamy pracę z głowy. Warto przy tym wspomnieć o tym, że mamy możliwość wyeksportowania naszych działań do pliku, w tym celu dodajemy na końcu | Out-File -filepath "C:log.txt" Oczywiście wymaga to drobnej zmiany w skrypcie Write-Host zmieniamy na Write-Output Jeżeli tego nie zrobimy wynik działania skryptu zobaczymy tylko w konsoli, a plik tekstowy pozostanie pusty
×
×
  • Dodaj nową pozycję...