automatisch scriptje maken voor regedit

Status
Niet open voor verdere reacties.

Interface

Gebruiker
Lid geworden
27 jan 2009
Berichten
156
Ik zit op me werk met wat restricties, nu ben ik systeem beheerder en voor mij is het met een administrator account vrij eenvoudig om alle restricties(=DWORD) op 0 te zetten. Het probleem is dat onze profielen in beheer zijn bij een extern bedrijf en dus heeft elke medewerker(ongeacht functie) dezelfde restricties/image draaien. Nu heb ik van dat externe bedrijf het Admin wachtwoord gekregen om zodoende zelf alles aan te kunnen passen. Het is voor mij kinderspel natuurlijk om dit te doen.

Dit moet ik alleen regelmatig doen, en nu heb ik alle dword waardes die op nul gezet moeten worden naar een tekst bestandje gekopieerd(zoals je kunt zien in het onderstaande). Nu heb ik wel enige ervaring met programeren in VBA maar ik zou eigenlijk niet weten hoe ik e.a. via een .bat bestandje automatisch kan uitvoeren zodat ik niet elke keer regel voor regel die waardes weer op 0 moet zetten.

Het tekst bestandje is al zo aangemaakt zodat alle d-word waarde op nul staan het enige wat moet gebeuren is een toevoeging aan het script zodat het als admin uitgevoerd wordt en de betreffende waardes op nul worden gezet.

Code:
Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-21-1130692790-1151533786-1000085797-32537\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoRecentDocsNetHood"=dword:00000000
"NoCloseDragDropBands"=dword:00000000
"DisablePersonalDirChange"=dword:00000000
"NoActiveDesktop"=dword:00000000
"GreyMSIAds"=dword:00000000
"NoSetTaskbar"=dword:00000000
"NoTrayContextMenu"=dword:00000000
"NoChangeStartMenu"=dword:00000000
"NoFavoritesMenu"=dword:00000000
"NoSMHelp"=dword:00000000
"NoWindowsUpdate"=dword:00000000
"NoNetworkConnections"=dword:00000000
"NoSMConfigurePrograms"=dword:00000000
"Intellimenus"=dword:00000000
"NoInstrumentation"=dword:00000000
"NoWelcomeScreen"=dword:00000000
"NoManageMyComputerVerb"=dword:00000000
"NoComputersNearMe"=dword:00000000
"NoDFSTab"=dword:00000000
"NoHardwareTab"=dword:00000000
"NoOnlinePrintsWizard"=dword:00000000
"NoPublishingWizard"=dword:00000000
"NoSecurityTab"=dword:00000000
"NoSharedDocuments"=dword:00000000
"NoChangeAnimation"=dword:00000000
"ForceClassicControlPanel"=dword:00000000
"NoMovingBands"=dword:00000000
"ClassicShell"=dword:00000000
"NoStartMenuMyMusic"=dword:00000000
"NoSMMyPictures"=dword:00000000
"NoNetHood"=dword:00000000
"NoDesktopCleanupWizard"=dword:00000000
"LinkResolveIgnoreLinkInfo"=dword:00000000
"RestrictCpl"=dword:00000000
"EnforceShellExtensionSecurity"=dword:00000000
"ForceStartMenuLogOff"=dword:00000000
"PromptRunasInstallNetPath"=dword:00000000
 
Dat is niet zo moeilijk.
Zorg dat het tekst bestandje de extentie .reg krijgt. Dan is dubbelklikken op het bestandje voldoende om het in het register door te voeren.

Wil je het in een batchbestandje hebben dan is het voldoende om in de .bat file het bestandje op te nemen.

voorbeeld inhoud batch bestand:
C:\jouwbestandje.reg
 
Als je in een domein zit en je weet de computernaam van de pc waar je het *.reg bestandje op wilt uitvoeren kun je dit ook doen met regedit.exe op jou eigen pc. Dan staat boven in bij File => Connect to network registery => Vul hier de pc naam in en druk op Check names => Daarna doe je import, zoek je *.reg file => Kies je dat je op die pc deze file wilt importeren en klaar is kees.
 
duidelijk wat deze antwoorden betreft

Echter was ik al zover dat ik dat ook begreep. Het probleem zit erin dat er meerdere users zijn waarbij dit uitgevoerd kan worden...

Om niet het admin password weg te geven, zal dit in het script verwerkt moeten worden dat er uitgevoerd moet worden als admin en password etc.

Daarbij zijn de paden in de registry natuurlijk per user verschillend. Of dit door het nt profiel komt weet ik niet, feit is wel dat dit profiel elke keer opgehaald wordt op het moment dat er ingelogd wordt. De restricties zitten dan ook niet op de pc zelf maar in het profiel(wat is weggeschreven op de server) staat.

Daarbij draaien er verschillende images(afhankelijk van pc/hardware). Dus bepaalde dword waardes zullen in het ene profiel wel voorkomen en andere weer niet. Er zullen dus wat if en else functies in moeten komen. Het lussen van een registry waarde moet te doen zijn! een for statement maken is voor mij in vba niet zo moeilijk maar hoe dit precies in z'n werk gaat bij een reg verandering is mij niet helemaal duidelijk. Ik ben in de veronderstelling dat er een on error resume next statement in voor moet komen.



Dus even kort:


  • Het script moet uitgevoerd worden als admin en dat zou ik graag in mijn script willen verwerken(een soort "uitvoeren als")
  • Het juiste pad in regedit vinden van de betreffende user, dit moet toch niet al te moeilijk zijn, omdat op het moment dat het script draait dit namelijk gebeurd op/in het actieve profiel wat draait en dat is dus de actieve user. Het stukje hieronder wat rood gekleurd is dat uniek stukje pad, en dat zou ik toch ergens kunnen opvragen via het script. De rest van het pad is namelijk altijd gelijk aan de rest van het pad(wat dus niet rood gekleurd is).
    Code:
    [HKEY_USERS\[COLOR="Red"]S-1-5-21-1130692790-1151533786-1000085797-32537[/COLOR]\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
  • Als een bepaalde dword waarde voorkomt en deze staat op 1 dan moet deze nul worden(if else etc).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan