[win2008 & xp/vista clients] vbs scripting

Pagina: 1
Acties:

  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
net hele berichtje geschreven stuurt mn collega me een link en opent hij in hetzelfde tabje als waarin het berichtje stond maar goed hier gaan we weer....

ik zit hier op mn stage met een vrij versnipperd local admin wachtwoord. Er zijn er een stuk of 6 in de omloop en dat is niet alleen irritant als je elke keer alles moet uitproberen maar ook nog is gevaarlijk aangezien er al jaren niks aan gedaan word om het aan te passen en kan me niet voorstellen dat niemand van de medewerkers dat ding nog niet kent. Alle werkstations zitten overigens in het domein en ik heb overal admin rechten.

Nou kwam ik dus met het idee om dat even aan te passen via een gpo met de nieuwe functies die je hebt gekregen in win2008 daarvoor. Makkelijker kan niet zou je denken. Maar goed die functies moeten dus wel weer geinstalleerd worden op alle xp werkstations. Dit zou ook nog wel kunnen met een gpo maar dat heeft mijn stagebegeleider liever niet. Hij wilt dat ik het doe met een vbs scriptje. Nu ben ik zelf geen held daarin maar met wat copy paste en aanpaswerk moet ik er toch wel komen denk ik zo. Na wat onderzoeken kwam ik bij onderstaand scriptje.

Als ik de werking een beetje begrijp doet het het volgend:
- je runt vanaf een pc in het domein onder een account met admin rechten op alle betrokken werkstations
- vervolgens leest hij een input.txt bestandje in met alle pc namen (die kan ik makkelijk uit de AD trekken)
- daarna leest hij een password input.txt bestandje in met het te gebruiken wachtwoord
- Vervolgens komt er een output.txt bestandje rollen waarvan ik niet weet wat de inhoud is

Ik ben op het moment bezig met het installeren van een testbakkie dus daar kan ik zo mee aan de gang. Ik wou alleen even wat advies van jullie winnen aangezien ik hier nog nooit wat mee gedaan heb. Zijn er nog dingen waar ik aan moet denken (firewall uit bvb?)

code: filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 '==========================================================================      
 ' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 3.1
 '
 ' NAME: Local Admin Change Password
 '
 ' AUTHOR: Kirrilian
 ' Date  : 2/22/2005
 '
 ' COMMENT: 
 '        usage: cscript local_admin_chpw.vbs password input.txt
 '        the input file should be a list of machines you want to change the
 '        password on. One hostname per line.
 '==========================================================================
 
 Dim fso
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set objArgs = WScript.Arguments.Unnamed
 
 'InputFile = "C:\input.txt"
 MyDate = Replace(Date, "/", "-")
 OutputFile = "C:\output-" & mydate & ".txt"
 
 If Not objArgs.Count = 2 Then
    password = WScript.Arguments.Item(0)
    InputFile = WScript.Arguments.Item(1)
    If fso.FileExists(InputFile) Then
        Set txtStreamIn = fso.OpenTextFile(InputFile)
        Set txtStreamOut = fso.OpenTextFile(OutputFile, 2, True)
        Do While Not (txtStreamIn.AtEndOfStream)
            strComputer = txtStreamIn.ReadLine
            chpw strComputer, password
        loop
    Else
        WScript.Echo "Input file doesnt exist."
        usage
    End if
Else
    usage
End If

Sub usage()
    WScript.Echo "Usage: cscript local_admin_chpw.vbs password input.txt"
    WScript.Echo "NOTE: if your password has special characters in it you will have to enclose it in quotes"
End Sub 'usage

Sub printOut (data)
    WScript.Echo data
    txtStreamOut.writeline data
End Sub 'printOut

Sub chpw (computer,password)
    Set objUser = GetObject("WinNT://" & computer & "/Administrator, user")
    printOut "changing the password on " & computer & " to " & password
    objUser.SetPassword password
    objUser.SetInfo
End Sub 'chpw }

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:14

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Waarom stel je via een GPO niet een computerstartup script in voor alle werkplekken met de regel:

Net User Administrator Password:%1%

Geef vervolgens het wachtwoord op als scriptparemeter (zodat users die niet kunnen lezen) en klaar. Na elke herstart wordt het wachtwoord dan weer netjes ingesteld. :)

Wil je het wachtwoord later nogmaals wijzigen (of nog beter periodiek), dan pas je de scriptparameter even aan en klaar.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
af en toe vraag ik me af waarom ik direct hele programmeer projecten op me nek haal als het zo makkelijk is :P

maar ehh dus gewoon dat bovenstaande regeltje in een .bat bestandje ofzo. bestandje in benaderbare share gooien en als startup script configureren in een gpo op de computer objecten. Het wachtwoord zet ik dus gewoon plat in de parameter zonder bijbehorende code?

ps: srry voor mn noobieness hiero :P

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:14

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Yep, alleen de share hoef je niet aan te maken. Een startup-script die via een GPO uitgevoerd wordt, wordt in een aparte lokatie in de sysvol geplaatst (en die is al geshared). Die stap kun je dus overslaan.

Test het bat of cmd-scriptje wel eerst even handmatig. Ook met het handmatig starten van een script kan een parameter meegegeven worden.

wachtwoord.cmd wachtwoord

Wordt dan de opdrachtregel.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
ff lopen testen met me fris geinstalleerde xp pro nl.
als ik Net User Administrator Password:%1% in een bat file prop en vervolgens uitvoer vanuit cmd met wachtwoord als parameter. Dan gooit hij wel dat wachtwoord uit de parameter erin maar hij komt met de foutmelding dat het de verkeerde syntaxis is. Dit dus:

C:\Documents and Settings\Administrator\Bureaublad>Net User Administrator Passwo
rd: wachtwoord
De syntaxis van deze opdracht is:


NET USER
[gebruikersnaam [wachtwoord | *] [opties]] [/DOMAIN]
gebruikersnaam {wachtwoord | *} /ADD [opties] [/DOMAIN]
gebruikersnaam [/DELETE] [/DOMAIN]

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:14

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Omdat je een nederlandstalig OS gebruikt (en ik een Engelse) ;)

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 04-02 16:09
Pas je command in je CMD file aan naar:
code:
1
Net User Administrator %1%

  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
ben echt niet mn element vandaag :P

maar goed heb nu ff een versimpelde versie gemaakt

NET USER Administrator wachtwoord: wachtwoord

Dit zou toch gewoon moeten werken in een .bat bestandje of ben ik nu gek aan het worden?

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:14

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Dat klopt, de reden is/was dat jouw Nederlandse OS de optie "password" niet kent. Maar wel de optie "wachtwoord" kent. Let er wel even op dat er geen spatie na de dubbele punt mag staan.
Craven87 schreef op vrijdag 05 juni 2009 @ 13:29:
heb hem nu iig lokaal werkend met mhoogendam's syntax thnx
Hmm, wist niet dat het ook op die manier mogelijk was. Thx. (ook wel zo logisch overigens, ben je in ieder geval af van issue's met evt. taalversies).

[ Voor 47% gewijzigd door Question Mark op 05-06-2009 13:32 ]

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
heb hem nu iig lokaal werkend met mhoogendam's syntax thnx

  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
It is working :)
het werkt nu gewoon netjes onder vista en xp met de antivirus (trend micro) en de firewall (built in microsoft ding) aan. Deze moet ik onthouden.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Question Mark schreef op vrijdag 05 juni 2009 @ 11:49:
Waarom stel je via een GPO niet een computerstartup script in voor alle werkplekken met de regel:

Net User Administrator Password:%1%

Geef vervolgens het wachtwoord op als scriptparemeter (zodat users die niet kunnen lezen) en klaar. Na elke herstart wordt het wachtwoord dan weer netjes ingesteld. :)
Volgens mij kan een user dat gewoon lezen onder: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\System\Scripts\Startup ? :$

  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
heb het ff gecheckt. vista niet, xp wel. staat er doodleuk in.
maar goed.... zie 1 van mijn gebruikers daar niet in kijken :P

maar weet jij nog een andere manier zonder dat de gebruiker het uit kan lezen?

  • beekware
  • Registratie: Mei 2002
  • Laatst online: 01-02 18:38

beekware

To Experience The Unexpected..

Craven87 schreef op vrijdag 05 juni 2009 @ 15:09:
heb het ff gecheckt. vista niet, xp wel. staat er doodleuk in.
maar goed.... zie 1 van mijn gebruikers daar niet in kijken :P

maar weet jij nog een andere manier zonder dat de gebruiker het uit kan lezen?
Startup scripts worden onder het system account uitgevoerd. Wat je hier kan doen is de group Domain Computers en 'Read Access' geven en Domain Users 'Deny Access'. natuurlijk ook een een beheer groep Change access geven. Zo doen wij het ook, mocht een gebruiker 't kunnen achter halen kan hij/zij er niet bij. Middels het onderstaande VBSje.

strComputer = "."
set objComputer = GetObject("WinNT://" & strComputer)
set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")
objUser.SetPassword "Bladiebladiebla"

[ Voor 14% gewijzigd door beekware op 05-06-2009 15:22 ]

|| Twitter || Instagram || PV Output ||


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

offtopic:
Je zou ook security-wise voor een randomized password kunnen kiezen wat je door het script laat genereren.

Overal hetzelfde Admin password op zetten? *kriebels*. Als ik die nodig heb dan reset ik die wel, dan moet ik toch al fysiek bij de PC komen.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • Craven
  • Registratie: Februari 2007
  • Laatst online: 15:32
ja dat zou ook mijn eerste keuze zijn maar goed... ze hebben hier voor het lokale admin wachtwoord liever dat. en daar komt bij dat ze pas een half jaar geleden de admin rechten bij de gebruikers hebben verwijderd :P. Daarvoor was het hele bedrijf gewoon lokaal admin op zijn pc...

ben sowieso al bezig om hier alles wat meer procedureel te krijgen. Ze zitten namelijk net een beetje in de overgang van klein bedrijfje met de bijbehorende feeling. Naar een wat groter bedrijf met de bijbehorende procedures waar alles wat strakker geregeld is.

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:14

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

elevator schreef op vrijdag 05 juni 2009 @ 14:38:
[...]
Volgens mij kan een user dat gewoon lezen onder: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\windows\System\Scripts\Startup ? :$
Hmm. Da's ook wel weer lekker suf. Heb niet echt mijn dag geloof ik.

Ik was altijd in de veronderstelling dat de CSE's de startup scripts altijd rechtstreeks uitvoerden, maar het blijkt dus (volgens dit artikel) dat de CSE's enkel bovenstaande regkey vullen en de uitvoering van deze scripts vervolgens "aan de computer" overlaten.

Overigens denk ik dat het risico wel iets meevalt. Registry Editing tools staan in de meeste situatie's wel gedisabled (middels een group policy). Bovendien disable ik via policy's altijd wel andere bekende tools zoals Reg.exe.

Het wordt voor een standaard user dan al lastig(er) om deze key uit te lezen.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B

Pagina: 1