11. februar 2005 - 11:44Der er
5 kommentarer og 1 løsning
Ændre rettigh. t. regkey som kun admins har adgang t. på 600PCere
Hej, jeg har et problem som jeg håber nogen kan hjælpe med.
Vi har et sted over 600 PC'ere fordelt på flere lande. Som udgangspunkt er ingen brugere administratorer på deres maskiner, men mange har en admin konto som de kan bruge når de skal installere software. Vi bruger AD og har derfor adgang til GPOer og vi har et centralt SW udrulningssystem hvor vi kan installere software og køre scripts på brugerens PC.
Vores problem er at man som udgangspunkt ikke har adgang til ændre på maskinens power settings medmindre man er administrator. For at løse problemet kan man give fx. "Domain Users" modify rettigheder til HKEY_CURRENT_USER\Control Panel\PowerCfg. Problemet er at det er en key som kun administratorer har adgang til at ændre, og brugeren skal derfor være lokal administrator. Kører vi det via vores udrulningsværktøj kører det ganske vidst som en administrator men med sin egen profil og altså en "anden" CURRENT_USER.
Kan man på anden måde (fx. via GPO) gøre adgangen til at ændre power settings mindre restriktiv så fx. domain users kan ændre det? Kan man med noget VB-script ændre på rettighederne til denne key for alle keys under HKEY_USERS?
Du kan gøre ved hjælp af secedit og GPudate og runas bact scipt og når du har åbnet en runas bruger så starter du din cfg.reg med de evt data den skal fyre af under op start.. Når den lukker din runas kommando så har bruger ikke længer adgang til at ændre de ting du lige har ændret for ham under op start.. Du kan evt havde alle dinne bat fillger liggeden på en server og link til dem fra dinne kontor maskinner så de kan smid power save på eller fjerne det.. Ved et enkelt klik på genvejen som starter sciptet op...
Men du skal nok sette dig ind i Runas og GPudate og secedit.. Men der det er bare at skrive cmd og f.eks. runas /? så kommer syntaxen frem...
Jeg kender godt til runas, gpupdate, GPOer mv. - men det gør mig ikke i stand til at kunne ændre rettighederne på en key under HKEY_USERS\<brugerensSID>.
Hele humlen er at jeg skal tilføje keys som admin men for brugerens profil.
Ja men kan du ikke køre et Reg fil igennem jeres ADMIN program og skrive til brugerensID som du siger det.. Menner at ADMIN brugeren har adgang til alle bruger id'er så det er jo bare om at finde dinne power settings i regen og lave en reg fil der skrive denne instilling til alle bruger id'erne også .default brugeren.. Osv.. Det vil sige du har en reg fil der hedder powerSave.reg og en MaxPower.reg og disse reg filler skriver til alle brugerne ind under HKEY_USERS.. Godt nok er det mange bruger du skal gå igennem men det er vel bare sur røv.. med mindre du kan skrive til urent user uden at skulle skifte over til admin bruger som jeg kan se jeres distributions program gør.. I stil med romming users.. Men hvad med at skrive til regen over netværk? Dette skulle jo også være muligt.. Ved ikke om man i aktiv Directory kan have reg profiller med div settings i sig? Men vis man kunne det kunne man også gøre det på den måde...
ravelab -> Ja, rettighederne til at ændre i registreringsdatabasen er ikke noget problem. Problemer at det vi skal ændre ligger under brugerens SID i HKEY_USERS. Der er ikke umiddelbart nogen måde at ændre rettighederne for en key der ligger under et SID-nummer man ikke kender. Det er ikke muligt at gøre dette manuelt på alle vores 600 maskiner i forskellige tidszoner.
Jeg forestiller mig at man kan løse opgaven med noget VBS, men hvordan?
REM Get list of profiles from registry, dump to file reg query hku | find "\" | find /v "_Classes">"%temp%\hkey_users.txt"
REM Modify registry values for all users for /f "usebackq tokens=*" %%i IN ("%temp%\hkey_users.txt") do call :regmod_loop %%i
REM Clean-up del /q "%temp%\hkey_users.txt" goto :eof
:regmod_loop REM Here you specify the commands to run against each entry in HKEY_USERS. REM The reference to each key is stored in "%*". REM REM Example: "reg query %*" REM REM To set permissions on registry keys use command-line tools like "SetACL". goto :eof
Ovenstående skal så bare kaldes vha. en for-løkke der læser en liste over alle PC'ere, à la:
for /f "tokens=* usebackq" %%i in ("computers.txt") DO call <FilenOvenover> %%i
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.