[2003] Shutdown script wil maar niet werken

Pagina: 1
Acties:
  • 324 views sinds 30-01-2008
  • Reageer

Anoniem: 194574

Topicstarter
Ik heb een erg simpel shutdownscriptje dat ik in een batfile heb gegooid, de batfile noemt SHUTDOWN.bat en dit scriptje moet mijn windows 2003 server remote shutdownen. Als ik de batfile run via een client dan shut mijn windows 2003 server gewoon down, no problem. Als ik dit nu in een policy gooi via een organizational unit(dus op computerniveau)dan werkt het gewoon niet.

De contents van het batfiletje is als volgt,


C:
cd Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5


ik heb de batfile dus in volgende directory gegooid op mijn windows 2003 server,

\\SERVERNAAM\SYSVOL\SERVERNAAM.local\scripts\Shutdown.bat

das dus die folder die je via explorer kan benaderen via MY NETWORK PLACES, en dan openklappen tot je er bent. Tsja wat kan ik nog zeggen, ik heb een 'test OU' aangemaakt en daar mijn client computer ingegooid, en op die 'test OU' apply ik dan via PROPERTIES, NEW, een nieuwe group policy, en daar ben ik dus naar COMPUTER CONFIGURATION gegaan, dan WINDOWS SETTINGS, daar scripts en bij SHUTDOWN SCRIPT op ADD geklikt, vervolgens heb ik als scriptnaam dus die regel daarboven toegevoegd,

\\SERVERNAAM\SYSVOL\SERVERNAAM.local\scripts\Shutdown.bat

het regeltje 'script parameters' heb ik leeg gelaten, zou niet weten wat ik daar moet invullen. Daarna heb ik voor de zekerheid via CMD het commando GPUPDATE /force gedaan om de policy te applyen(dit terwijl de client computer dus ook online was), vervolgens alle windows geclosed van active directory. En no matter hoe vaak ik mijn client pc ook shutdown, mijn windows 2003 server wordt niet geshutdowned, script doet gewoon niets. Ik gebruik de tools psshutdown van sysinternals, en die heb ik dus zowel op mijn client PC als op mijn windows 2003 bak staan onder de directory 'Program Files\PsTools' omdat ik niet wist op welke PC die tool nu moest staan, of waar die batfile die tool nu ging zoeken.

Wat doe ik nu in godsnaam verkeerd, heb hier al eens liggen browsen op het forum, en zie wel posts van mensen maar allemaal wordt aangeraden om het in die SYSVOL folder te gooien zoals ik ook gedaan heb.

thnx

Anoniem: 57365

als je het script handmatig uitvoert werkt het wel?

Er van uitgaande dat het werkt (beetje vaag om psshutdown te gebruiken overigens. Shutdown.exe staat tegenwoordig standaard op xp en win2k3; mocht je shutdown.exe gaan gebruiken, je batch niet shutdown.bat noemen :)).

Begin je script met

@echo off
set logfile=c:\sd.log

Echo %date% %time%.>%logfile%
Echo Begin shutdown>>%logfile%
jouw code
Echo Einde shutdown>>%logfile%

Bestaat sd.log en staat daar de ge-echo-de tekst in?

[ Voor 8% gewijzigd door Anoniem: 57365 op 16-08-2007 18:47 ]


Anoniem: 57365

hmmm je client os vermelden lijkt me ook handig.

Je hebt een comp policy, dus je batch wordt uitgevoerd onder "system"
System heeft nooit rechten op een netwerkshare, aka kan niet bij de batch en doet dus niets.

Anoniem: 194574

Topicstarter
Wel mijn client OS is windows XP professional, en shutdown.exe werkt niet, die had ik al getest, vandaar dat ik die psshutdown nu gebruik en die doet het wel perfect, het probleem van die shutdown.exe was dat die niet werkt als je windows 2003 server nog op zijn loginscherm staat, psshutdown die gooit de server plat ongeacht of ie nou op het loginscherm staat of niet.

Alsook ben ik zie ik niet duidelijk geweest over wat ik nou wou, ik wil gewoon dat van zodra mijn client pc shutdowned, dat mijn windows 2003 server ook automatisch mee shutdowned. Maar ik zal al eens even proberen wat jij nu voorstelt en dan laat ik zometeen weten wat ie doet. Zal deze post wel editen met het resultaat.

EDIT : Heb net effe mijn middagmaal verorbert dus vandaar dit latere antwoord, heb nu je advies gevolgd, en de logfile wordt niet eens aangemaakt, als ik shutdown doe op mijn client zie ik wel staan, running shutdown scripts maar verder gebeurt er dus niets, geen logfile op zowel mijn client als mijn windows 2003 server? En je zegt met comp policy kan ie niet bij de networkshare, hoe los ik dit dan op dat ie het wel doet?

[ Voor 23% gewijzigd door Anoniem: 194574 op 16-08-2007 19:43 ]


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

alt-92

ye olde farte

Anoniem: 194574 schreef op donderdag 16 augustus 2007 @ 19:02:
En je zegt met comp policy kan ie niet bij de networkshare, hoe los ik dit dan op dat ie het wel doet?
Whacky oplossing, maar wellicht goed te doen:
Draai het om.

Je kan proberen of je een shutdown event van je desktop op je server kan afvangen (WMI scripting) bijvoorbeeld.
Andere oplossing zou kunnen zijn dat je een scheduled task aanmaakt met een script wat elke 5 minuten je desktop pollt (ping) en als er geen respons is, je shutdown routine laat lopen.

Ik noem maar wat gekke dingen ;)

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


  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 12:50

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Gewoon shutdown.exe gebruiken, daarmee kan je je server prima op afstand down gooien.
Usage: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "c
omment"] [-d up:xx:yy]

No args Display this message (same as -?)
-i Display GUI interface, must be the first option
-l Log off (cannot be used with -m option)
-s Shutdown the computer
-r Shutdown and restart the computer
-a Abort a system shutdown
-m \\computername Remote computer to shutdown/restart/abort
-t xx Set timeout for shutdown to xx seconds
-c "comment" Shutdown comment (maximum of 127 characters)
-f Forces running applications to close without war
ning
-d [u][p]:xx:yy The reason code for the shutdown
u is the user code
p is a planned shutdown code
xx is the major reason code (positive integer less than 256)
yy is the minor reason code (positive integer less than 65536)

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


Anoniem: 194574

Topicstarter
WMI scripting heb ik helemaal geen kaas van gegeten, en wat je daarna vermeld daar snap ik al helemaal niks van:( Ik vraag me af waarom er zoiets als shutdown scripts in windows zit, en als je het dan tracht te doen in je domain dan werkt het gewoon niet. Ik heb domain users, ik heb local users die op de clients kunnen inloggen, zelfs mijn local users op die client die kan het bestandje SHUTDOWN.bat draaien(hij hoeft niet eens op het domain ingelogd te zijn en dan kan hij de windows 2003 server al shutdownen. Doe het via scripts en er werkt geen moer meer van:(

Reden waarom ik dit eigenlijk zo wil doen is de volgende, ik heb twee verdiepen hier, mijn client comp(tegelijkertijd ook mijn HTPC)die staat op het gelijkvloers en de windows 2003 server(mijn fileserver dus met mijn movies)die staat op de bovenverdieping, dus het zou echt wel handig zijn dat als ik beneden klaar ben met filmpie kijken en ik shutdown mijn PC dat mijn PC boven ook automatisch shutdowned. Ik wil natuurlijk ook het omgekeerde, van zodra mijn clientPC opstart dan moet mijn windows 2003 server ook opstarten via het netwerk. Hiervoor gebruik ik WAKE on LAN, ik heb al een scriptje gemaakt en gebruik de tool WOL.EXE en dit werkt gewoon perfect als ik gewoon draai vanaf mijn client(maakt nie uit of ik nou op domain aanlog met domainaccount of dat ik lokaal aanlog op die client), mijn PC boven start dan gewoon op. Doe ik dit weer met startup script via policies dan werkt er geen fuck:(

Word er zo ondertussen haast gek van, heb zowat alles al geprobeerd.

Is er niemand die een sluitende oplossing heeft of de missing link hier ziet, het ongeluk bij microsoft zit vaak in een heel klein hoekje:(

Anoniem: 194574

Topicstarter
Microkid schreef op donderdag 16 augustus 2007 @ 21:49:
Gewoon shutdown.exe gebruiken, daarmee kan je je server prima op afstand down gooien.

[...]
het probleem is niet het remote afsluiten van de comp, dat lukt allemaal wel, de clue van de zaak is, ik moet hem afgooien van zodra de client shutdowned, en net dat lukt nou niet.

  • Gunner
  • Registratie: Oktober 1999
  • Niet online

Gunner

Invincibles

Anoniem: 194574 schreef op donderdag 16 augustus 2007 @ 21:56:
[...]


het probleem is niet het remote afsluiten van de comp, dat lukt allemaal wel, de clue van de zaak is, ik moet hem afgooien van zodra de client shutdowned, en net dat lukt nou niet.
:?

Bak er eens duidelijker Nederlands van?

[ Voor 92% gewijzigd door Gunner op 16-08-2007 21:58 ]

Still warm the blood that courses through my veins. | PvOutput | ARSENAL FC


Anoniem: 194574

Topicstarter
:LOL: snap je niet wat ik bedoel, die remote shutdown heb ik al werkende hoor, die batfile die ik gemaakt had werkt gewoon(of je nu lokaal inlogt op de clientPC of dat je via het domain inlogt), maar hier heb ik niet meteen iets aan, ik wil dat die remote shutdown ook werkt automatisch bij het afsluiten van de clientPC(via shutdown script dus en niet de trage manuele manier waar ik zelf nog eens de batfile moet gaan aanklikken).

De clientPC moet dus de Windows 2003 serverPC automatisch afgooien van zodra de clientPC geshutdowned wordt(zonder dat ik zelf nog moet liggen klikken op die batfile).

[ Voor 16% gewijzigd door Anoniem: 194574 op 16-08-2007 22:06 ]


Anoniem: 194574

Topicstarter
Kijk, hier is screenshot als ik die batfile gewoon dubbelklik vanaf mijn client(de pc die dus op benedenverdieping staat),

Afbeeldingslocatie: http://i17.tinypic.com/4pp3nu1.jpg

5seconden erna valt de PC boven uit(ik heb de servernaam, username en password via photoshop verandert uit veiligheidsoverwegingen)

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

alt-92

ye olde farte

Anoniem: 194574 schreef op donderdag 16 augustus 2007 @ 22:04:
De clientPC moet dus de Windows 2003 serverPC automatisch afgooien van zodra de clientPC geshutdowned wordt(zonder dat ik zelf nog moet liggen klikken op die batfile).
En iis5_rulez legt je net uit dat je dat niet zomaar als een shutdown script policy (machine GPO) kan instellen omdat die onder SYSTEM lopen en daardoor geen toegang hebben op een andere machine over het netwerk.

Met andere woorden, je zal het op een manier moeten doen dat je met eigen credentials (user/pass) doorgeeft, of je draait het (zoals ik al aangaf) om.

WMI/VBscripting is wat dat betreft wat veelzijdiger dan een simpele batchfile, omdat je dan veel meer mogelijkheden hebt om een trigger te verzinnen.

Wat is er trouwens mis met de suggestie van een ping vanaf de server om te controleren of je client nog aanstaat? :)

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


Anoniem: 20531

Volgens mij werden shutdown scripts gestart met user rechten en niet administrator rechten wat zou kunnen verklaren waarom het niet werkt.

[edit]
Moet leren lezen :z
Shutdown scripts are run as Local System, and they have the full rights that are associated with being able to run as Local System.
Bron: http://www.microsoft.com/...downscripts.mspx?mfr=true
The Local System account does not have any rights to access the network. When network access is necessary, Local System uses the account Domain\computername$.
Bron: http://www.microsoft.com/...324b1d24a15.mspx?mfr=true

[ Voor 80% gewijzigd door Anoniem: 20531 op 16-08-2007 22:30 ]


Anoniem: 194574

Topicstarter
Ja maar ik snap niet goed wat hij daarmee bedoelt of hoe je dat moet aanpakken, je zegt wel dat ik het anders moet aanpakken maar wat als dat nu chinees is voor mij, om zoiets te gaan googlen dat vind je nooit. Hoe kan ik nu zorgen dat mijn server constant ligt te pingen naar mijn client en als die geen respons meer krijgt dat die zichzelf shutdowned, ik ben geen programmeur dus kan er geen programma of script in vbs voor schrijven. Ik ken wel beetje van if and then maar dan houd het ook op. Ik snap wat je wil zeggen met die ping en dat lijkt me een heel slimme oplossing maar hoe krijg je dat voor mekaar,

While Serverpc is online
do ping clientPC
if ping = getting response
then keep pinging
else voer SHUTDOWN.BAT uit

iets in die trend, maar dan in vbs of via WMi of wat dan ook:) En aub niet lachen met mijn noob programming skills, ik ben geen programmer.

Anoniem: 20531

Waarom niet gewoon 1 icoontje op je desktop of in je quick launche waar je beide PCs mee uitzet ?

shutdown.bat
code:
1
2
shutdown /s /m server
shutdown /s

Super simpel en hoef je geen proggie te schrijven.

[ Voor 3% gewijzigd door Anoniem: 20531 op 16-08-2007 22:35 ]


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

alt-92

ye olde farte

Anoniem: 194574 schreef op donderdag 16 augustus 2007 @ 22:32:
Ja maar ik snap niet goed wat hij daarmee bedoelt of hoe je dat moet aanpakken, je zegt wel dat ik het anders moet aanpakken maar wat als dat nu chinees is voor mij, om zoiets te gaan googlen dat vind je nooit.
[google=vbscript ping computer]
Ik snap wat je wil zeggen met die ping en dat lijkt me een heel slimme oplossing maar hoe krijg je dat voor mekaar,

While Serverpc is online
do ping clientPC
if ping = getting response
then keep pinging
else voer SHUTDOWN.BAT uit

iets in die trend, maar dan in vbs of via WMi of wat dan ook:) En aub niet lachen met mijn noob programming skills, ik ben geen programmer.
Daar heb je dus prima sites voor :)
http://www.microsoft.com/technet/scriptcenter/default.mspx is er één, daar staan kant en klare voorbeelden met uitleg.

Je stukje pseudo-code klopt al een heel end, dus ik zou zeggen, zoek daar de juiste spullen bij als
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
On Error Resume Next
strComputer = "192.168.0.6"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_PingStatus " & _
        "Where Address = '" & strComputer & "'")
For Each objItem in colItems
    If objItem.StatusCode = 0 Then 
        WScript.Echo "Reply received."  
        Else if objItem.StatusCode <> 0 Then
           Wscript.echo "Oh jee, paniek, geen ping ontvangen"
        End if
    End If
Next


Vervan dan de oh jee paniek met een shutdown stuk en klaar is klara :)

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


Anoniem: 194574

Topicstarter
Ik zie net dat die pagina die je daarboven aanhaalt dat die verwijst naar de NETLOGON folder en niet de SYSVOL folder, ik ga die batfile daar ook eens neurpleuren en dan nog es proberen. En waarom ik liever niet iets op mijn desktop zet is omdat mijn PC beneden zo is ingericht dat dit een mediaPC is, die start automatisch op mijn MEEDIO schermpie,

Afbeeldingslocatie: http://i16.tinypic.com/5z6w64l.jpg

en ik heb daar wel een knop om te shutdownen, maar die shutdowned dan gewoon mijn clientpc(zonder dat ik achter die knop nog iets anders kan hangen), alsook, ik heb een projector en als ik in mijn zetel zit dan heb ik enkel mijn bluetooth muis naast me liggen, er is dus geen manier om MEEDIO te verkleinen of naar de desktop te brengen aangezien MEEDIO gestuurd wordt via mijn 2de monitor(zijnde dus mijn projector), mijn eerste monitor is mijn desktop maar die zie ik nooit. Hij moet dus shutdownen wanneer mijn client shutdowned, ik kan dus niet naar desktop gaan(kan wel, maar dan moet ik opstaan, scherm omhoog sjassen, bzzzzzzzzzzzzzzzzzz gaat het dan, monitor aan, muis naar andere monitor brengen, etc etc, allemaal teveel werk dus).

[ Voor 5% gewijzigd door Anoniem: 194574 op 16-08-2007 22:47 ]


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

alt-92

ye olde farte

Daar hoef ik geen screenshot van te zien, en zeker niet zo huge.
Resize dat ding eens, of laat 'm gewoon weg want het voegt niks toe aan het topic.

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


Anoniem: 194574

Topicstarter
ik was hem al aant verkleinen nog voor je bericht zette:) Maarreuh, ik zal effe alle antwoorden doornemen en me gaan verdiepen in alle opties, alleszins erg leerzaam allemaal, aan alle contributeurs alvast mijn hartelijke groeten, ik houd je op de hoogte of het gelukt is(zal wel een dagje of twee over doen om het werkende te krijgen hehehe)

_/-\o_ _/-\o_ _/-\o_

[ Voor 73% gewijzigd door Anoniem: 194574 op 16-08-2007 22:50 ]


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

alt-92

ye olde farte

Anoniem: 194574 schreef op donderdag 16 augustus 2007 @ 22:48:
Maarreuh, ik zal effe alle antwoorden doornemen en me gaan verdiepen in alle opties, alleszins erg leerzaam allemaal.
offtopic:
Scripting is echt nuttig om te leren, vooral als je meerdere handelingen op een regelmatige basis moet herhalen.
Ik gebruik het bijvoorbeeld om automatisch MCE opnames te encoden, renamen en naar een share op een server te verhuizen :)

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


Anoniem: 194574

Topicstarter
Laat ons hopen dat ik dat scriptinggedoe kan doorgronden, ziet er moeilijk uit:(

Acties:
  • 0 Henk 'm!

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Anoniem: 20531 schreef op donderdag 16 augustus 2007 @ 22:25:
Volgens mij werden shutdown scripts gestart met user rechten en niet administrator rechten wat zou kunnen verklaren waarom het niet werkt.

[edit]
Moet leren lezen :z

[...]

Bron: http://www.microsoft.com/...downscripts.mspx?mfr=true

[...]

Bron: http://www.microsoft.com/...324b1d24a15.mspx?mfr=true
Hmmz, zo m'n twijfels bij deze theorie. TS geeft namelijk in z'n shutdown script keurig credentials mee
code:
1
2
3
C:
cd Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5
Denk dat er een backslash moet in het cd statement op regel 2, dus
code:
1
2
3
C:
cd \Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5
want de current directory zal je %SystemRoot% zijn

QnJhaGlld2FoaWV3YQ==


Acties:
  • 0 Henk 'm!

  • denivan
  • Registratie: September 2002
  • Laatst online: 04-02 14:40

denivan

de enige

Waarom moet het shutdown script op de server staan ? Kan je het niet evengoed lokaal onder C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown zetten en dan zo via mmc - local computer policy - computer configuration - windows settings -scripts etc het logoff script instellen ?

Last night I lay in bed looking up at the stars in the sky and I thought to myself, "Where the heck is the ceiling?!"


Acties:
  • 0 Henk 'm!

Anoniem: 194574

Topicstarter
denivan schreef op vrijdag 17 augustus 2007 @ 15:26:
Waarom moet het shutdown script op de server staan ? Kan je het niet evengoed lokaal onder C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown zetten en dan zo via mmc - local computer policy - computer configuration - windows settings -scripts etc het logoff script instellen ?
Dit heb ik al geprobeerd, was zowat het eerste wat ik geprobeerd had, dit werkte niet.

BIG UPDATE : Ik heb nu die script nog eens lokaal gezet in de directory die je hierboven aanhaalt, heb mijn computer account voor de zekerheid nog eens reset in active directory en heb de regels toegevoegt in mijn batfile(met die echo's)en nu heb ik ineens wel die SD.LOG op mijn c-schijf,

Fri 08/17/2007 21:13:05.79.
Begin shutdown
Einde shutdown

Wat ik ook heb liggen doen en ik denk eerlijk dat hier de oorzaak zat waarom er iets verkeerd zat, ik heb de time gesynched op mijn server en client, de server zat op US time, en de client zat op european GMT+1, met dat commando net time heb ik dat dus gesynched.

Het script wordt nu dus uitgevoerd, maar die serverPC wordt nog steeds niet geshutdowned :? :? :? Ik zie gewoon de cmdprompt oppoppen als ik mijn client afsluit, er gebeurt dus wel degelijk iets, en het commando wordt verstuurd, maar waarom in godsnaam sluit ie dan niet af, als ik het manueel aanklik de batfile werkt het wel |:(

MAJOR NEW UPDATE : Hier is dus echt iets raars aan de hand en ik denk dat we bijna bij de oplossing zijn gekomen, zonder dat ik speciale vbs scripts moet gaan gebruiken. Wat doet zich nu voor, wel iets heel raars, de SHUTDOWN.bat die zich bevindt in de folder,

C:\Program Files\Pstools

die werkt gewoon door erop te dubbelklikken. Als je nu deze gebruikt in het shutdown script en je plaatst diezelfde SHUTDOWN.bat naar de,

C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown

dan werkt de IDENTIEK DEZELFDE batfile ineens niet meer, hier is dus iets aan de hand met rechten ofzo, de files zijn echt 100% identiek qua inhoud. Dubbelklik ik degene onder program files dan is het poef, SERVERPC shutdown, dubbelklik ik degene onder de windows directory en nothing happens, nada zilch zip :P

Ik ga even de rechten nu bekijken en vergelijken van beide folders, misschien dat er iets boven water komt. The plot thickens _/-\o_

NEXT MAJOR UPDATE : Ben nu even manueel via cmdprompt naar die windows dir gegaan en heb de batfile zo aangeroepen, dit krijg ik dan te zien,

Afbeeldingslocatie: http://img130.imageshack.us/img130/1396/oplossingkj2.th.jpg

Hij zoekt dus naar de tool PSSHUTDOWN maar krijgt hem niet gevonden hehehehe, hier ligt dus het probleem. Maar waarom werkt dezelfde file wel vanuit Program Files en als als je hem aanroept vanuit die windows dir, dan ineens niet meer? Ga nu effe proberen om de paden aan te passen zoals Brahiewahiewa suggereert, misschien dat vanuit system dirs het aanroepen van folders anders werkt, who knows.

[ Voor 85% gewijzigd door Anoniem: 194574 op 17-08-2007 21:48 ]


Acties:
  • 0 Henk 'm!

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

alt-92

ye olde farte

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Const ForWriting = 2

Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLogFile = objFSO.CreateTextFile("logfile.txt",ForWriting, True)

Set objExecObject = objShell.Exec _   
     ("%comspec% /c psshutdown \\server -r")
Do While Not objExecObject.StdOut.AtEndOfStream
    strText = objExecObject.StdOut.ReadAll()
    objLogFile.WriteLine strText
    objLogFile.Close
Loop
MsgBox "done"


Als je de psshutdown dir nou eerst eens in je path opneemt, dan kan je net als bovenstaande gewoon rechtstreeks het command aanroepen.

Bovenstaande script logt de output van de console (commandprompt) naar de logfile in dezelfde map als waar het script staat.
Zo kan je in ieder geval achterhalen of je psshutdown command uberhaupt wel wordt aangeroepen.

[ Voor 4% gewijzigd door alt-92 op 17-08-2007 22:04 ]

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


Acties:
  • 0 Henk 'm!

Anoniem: 194574

Topicstarter
Ik ben al zeer dicht bij de oplossing nu, als ik in die windows directory het pad aanpas en ik zet de slash ervoor dan werkt het,

C:
cd \Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5

ook vanuit die windows folder, het probleem dat zich nu nog voordoet is dat het niet meer werkt van zodra windows shutdowned, dan geeft ie ineens weer die melding "Psshutdown is not a recognized blablabla". Dus mijn psshutdown script word nu aangeroepen vanuit beide directories, en het werkt vanuit beide directories(ZOLANG IK NOG IN WINDOWS ZIT), logged windows uit(bij reboot of shutdown dus), dan ineens herkent ie Psshutdown niet meer.

Ik heb dit uitgevonden door een wait in de batfile in te bouwen, en dan zie ik wat er gebeurt in het dos window bij het herstarten,

@echo off
set logfile=c:\sd.log

Echo %date% %time%.>%logfile%
Echo Begin shutdown>>%logfile%
C:
cd Program Files (x86)\PsTools
psshutdown \\fileserverdc -u greenmachine -p AA336BCK$ -t 5
@ping 127.0.0.1 -n 2 -w 40000 > nul
@ping 127.0.0.1 -n %1% -w 40000> nul
Echo Einde shutdown>>%logfile%

Ik wacht dus echt wel een hele lange tijd, en het schermpie dat ik dus zie is nog steeds dit,

Afbeeldingslocatie: http://img130.imageshack.us/img130/1396/oplossingkj2.th.jpg

Ik zal eerst nog eens proberen die psshutdown in alle windows dirs te knallen, en daarna probeer ik jouw scriptje. Will get back to ya on that.

Acties:
  • 0 Henk 'm!

Anoniem: 194574

Topicstarter
heb je script nu gedraaid en het werkt op 1 voorwaarde, dat ik je script in de c:\program files\pstools folder smijt, dan shut ie gewoon perfect down bij dubbelklikken van de vbs, krijg dan nog popup box die 'DONE' zegt en mijn server shutdown. Gooi ik nu die vbs in mijn shutdown script section dan werkt het ineens niet meer, dan krijg ik nog wel die doswindow dat psshutdown wordt aangeroepen, en die popup box 'DONE' maar mijn server shutdownen, HOW MAAR:(:(

Dus ik blijf het me gewoon afvragen, waarom werken die scripts allemaal zolang je nog ingelogd bent op de desktop, mijn batfile werkte ook zolang ik maar op de desktop zat. Ik snap er geen fuck meer van:(

PS : Ik heb for all sakes en purposes, het proggie psshutdown.exe natuurlijk ook in de windows\system32\..\..\..\shutdown folder gesmeten.

PS: Als ik je tool draai vanuit die windows\system32\..\..\..\shutdown folder dan krijg ik een PERMISSION DENIED error,

Afbeeldingslocatie: http://i17.tinypic.com/52fpyzl.jpg

draai ik jouw file vanuit de program files dir, dan krijg ik geen enkele error en shutdowned mijn PC, moet ik nu de Ghostbusters bellen, leven die kerels nog :? :? Dus het werkt nog altijd niet zoals ik wil, automatisch bij shutdownen van mijn client.

[ Voor 29% gewijzigd door Anoniem: 194574 op 17-08-2007 22:49 ]


Acties:
  • 0 Henk 'm!

  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Computer account resetten in AD moet je iig niet doen voor zoiets.... dan moet je de machine ook weer opnieuw in het domein hangen enzo...

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


Acties:
  • 0 Henk 'm!

Anoniem: 194574

Topicstarter
Ja maar dacht dat het probleem daar lag, dus moest het wel doen, je moet gewoon iedere possible angle afkloppen he. Maar ik weet nu al 1 ding zeker, dit probleem heeft te maken met user credentials. Als ik nu de gewone tool van de windows gebruik, de standaard shutdown.exe dus dan geeft die de error 'Access is Denied.(5)' bij het afsluiten van mijn client. Als ik dus,

@echo off
set logfile=c:\sd.log

Echo %date% %time%.>%logfile%
Echo Begin shutdown>>%logfile%
shutdown /m \\Windows2003Server /s
Echo Einde shutdown>>%logfile%

Deze batfile gewoon run vanaf mijn desktop, of ergens vanuit een foldertje, dan werkt het gewoon, zet ik die zooi in een shutdown script dan krijg ik de access denied. Dus ik mag met de user waarmee ik op de client ben ingelogd die PC remote niet shutdownen.

Ik heb nu op mijn windows 2003 domain controller alle policies liggen nakijken, en bij,

Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Force Shutdown from a Remote System

daar heb ik gewoon die user toegevoegd. Als ik dus bijvoorbeeld naar SYSTEM PROPERTIES ga van mijn client en ik ga naar het tabblad COMPUTER NAME dan staat daar bijvoorbeeld bij domain,

Noobspot.Local

en bij die user die ik toegevoegd heb in de 'Force Shutdown from a Remote System' daar staat dan volgende user te prijken,

NOOBSPOT\JohnRambo

dus ik weet niet wat ik nog allemaal moet doen, maar ik word er onderhand wel helemaal HARAKIRI van, ik zit ongeveer een dag verwijdert van betalende hulp want als ik dit niet opgelost krijg dan ga ik de muren beklimmen.

Acties:
  • 0 Henk 'm!

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

alt-92

ye olde farte

Anoniem: 194574 schreef op vrijdag 17 augustus 2007 @ 22:42:
heb je script nu gedraaid en het werkt op 1 voorwaarde, dat ik je script in de c:\program files\pstools folder smijt, dan shut ie gewoon perfect down bij dubbelklikken van de vbs, krijg dan nog popup box die 'DONE' zegt en mijn server shutdown.
Mooi. Concept werkt dus :)
Gooi ik nu die vbs in mijn shutdown script section dan werkt het ineens niet meer, dan krijg ik nog wel die doswindow dat psshutdown wordt aangeroepen, en die popup box 'DONE' maar mijn server shutdownen, HO MAAR:(
Da's ook niet zo vreemd.
Wat ik bedoelde met in het %path% zetten was dat je de hele C:\program files\pstools folder opneemt in de systeemvariable path.

Dan kan je vanuit de commandprompt waar dan ook psshutdown aanroepen, en hoef je niet overal die exe neer te planten.

Ik zet er overigens wel de kanttekening bij dat het script wat ik je hierboven gegeven hebt alleen maar een proof of concept is, niet meer.
De logfile.txt is alleen maar bedoeld om de output af te vangen ter debugging.

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


Acties:
  • 0 Henk 'm!

Anoniem: 194574

Topicstarter
Mijn probleem is opgelost, het had inderdaad te maken met het systemvariable path, ik wist niet meteen waar ik dit moest instellen, eerst had ik al volgende regel toegevoegd aan mijn batfile,

SET PATH=C:\Program Files (x86)\Pstools\

maar dit werkte niet, hij bleef nog steeds zeuren om 'Psshutdown is not a recognized blabla', toen heb ik even rondgeloerd en de oplossing gevonden. Simpelweg door te rechtsklikken op MY COMPUTER dan PROPERTIES, dan ADVANCED en daar een nieuw path toe te voegen, dan script opnieuw gerefreshed in de policy en klaar is kees.

Script werkt nu perfect, ik shutdown mijn client, en mijn server gaat ook plat, het neerplanten van die exe overal, dat was geen oplossing want dat werkte niet, dan begon psshutdown errors te geven.

Maar problem solved dus, deze topic mag dicht moderator, ik dank werkelijk iedereen die meegeholpen heeft van harte, wat op eerste zicht een simpel probleem was, is eigenlijk toch nog iets om de haren van je hoofd over te verliezen 8)7

THNX TO ALL _/-\o_ _/-\o_ _/-\o_ ad infinitum

Acties:
  • 0 Henk 'm!

  • beekware
  • Registratie: Mei 2002
  • Laatst online: 03-05 12:26

beekware

To Experience The Unexpected..

Als je dingen onder system wil runnen en je wil dit testen.. maak een scheduled task van 'cmd' aan met run onder local system. Deze als starttijd dan over 1 minuut.. wacht ekkes een minuutje daarna kun je van alles testen onder het system account... ;)

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


Acties:
  • 0 Henk 'm!

Anoniem: 57365

Brahiewahiewa schreef op vrijdag 17 augustus 2007 @ 15:17:
[...]
Hmmz, zo m'n twijfels bij deze theorie. TS geeft namelijk in z'n shutdown script keurig credentials mee
code:
1
2
3
C:
cd Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5
Denk dat er een backslash moet in het cd statement op regel 2, dus
code:
1
2
3
C:
cd \Program Files\PsTools
psshutdown \\Windows2003 -u usernameX -p passwordX -t 5
want de current directory zal je %SystemRoot% zijn
ik had het zowieso niet over het uitvoeren van het script, maar het benaderen van het script. Waarschijnlijk ook niet het probleem overigens, alhoewel de logging wel bewees dat de batch niet werd uitgevoerd.

@TS: geef die batch ook een andere naam, shutdown als naam gebruiken is eigenlijk ook als vragen om problemen.
Pagina: 1