Gå til innhold

[Løst] Skript for å endre rettigheter på brukerprofil (trenger hjelp til å lage et)


Anbefalte innlegg

Hei

Vi har endret lokasjonen som inneholder terminalserver profilene til brukerne våre. Det har medført at rettighetene er endret.

 

Hver mappe har navnstrukturen: adbrukernavn.domenenavn

 

SYSTEM skal ha fulle rettigheter.

AD brukeren skal ha fulle rettigheter

Datamaskinnavn\Administrators skal ha fulle rettigheter.

 

Nå har:

 

CREATOR OWNER har special permissions

SYSTEM har fulle rettigheter

Domain admins har fulle rettigheter

Datamaskinnavn\Administrators har special permissions

 

Kan ikke veldig mye om skripting så håper noen kloke sjeler kan hjelpe meg å lage et skript som:

 

knytter ad brukerene mot mappen som matcher brukernavnet, og gir de rettighetene jeg har oppgitt ovenfor.

 

Bare å si fra hvis dere trenger mer info eller noe var uklart :)

Lenke til kommentar
Videoannonse
Annonse

Fikk løst problemet selv på ein litt hårete måte(fungerer greit nok siden dette forhåpentligvis var et engangstilfelle).

 

Min løsning:

 

Først kjørte jeg dette skriptet:

 

$searcher=[adsisearcher]'objectClass=user'

$searcher.SearchRoot='LDAP://ou=Brukere,dc=test,dc=no'

$results=$searcher.FindAll()

$users=$results|ForEach-Object{$_.GetDirectoryEntry()}

$users|select SamAccountName

Pause

#Lister brukernavnene(kan endres ved å redigere linje nr 5 med f.eks: Fullname,Displayname,cn) til alle brukerne i OU'en Brukere(kan endres ved å redigere linje nr 2). Må kopieres ut manuelt fra PS. Lim inn i Excel og sorter alfabetisk. lagre i .txt format

 

 

Så lagret jeg resultatet i et dokument jeg kalte users.txt

 

 

Så kjørte jeg dette skriptet:

 

$Users = Get-Content "C:\Users\admin\Users.txt"

ForEach ($user in $users)

{

$acl = Get-Acl \\servernavn\ts-profiles$\$user

$permission = "$user","FullControl","ContainerInherit,ObjectInherit","None","Allow"

$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission

$acl.SetAccessRule($accessRule)

$acl | Set-Acl \\servernavn\ts-profiles$\$user

}

Pause

# Gir alle brukerne i Users.txt filen fulle rettigheter til ts-profilen sin

 

 

 

Dette fungerte greit, Men ga ein del feilmeldinger da ikke alle brukerne hadde vært pålogget terminalserveren og derfor ikke hadde en egen mappe med profilen.(jeg hadde heller ikke sortert resultatene slik jeg forklarte i første skriptet så jeg hadde ingen ide om hvor langt skript nr 2 hadde kommet før det var ferdig).

 

 

Hvis noen har forslag til forbedring så kom gjerne med svar. For eksempel en måte å få skript nr 1 til å automatisk lagre resultatene i en .txt fil eller .csv fil. fikk ikke dette til å fungere av ein eller annen grunn.

 

Gjerne også en måte å få resultatene automatisk sortert alfabetisk.

 

Håper innlegget mitt kan være til hjelp for noen andre og setter pris på alle svar:)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...