[Xcopy] Login script werkt niet goed

Pagina: 1
Acties:

  • Workaholic
  • Registratie: Februari 2003
  • Niet online
Ik wil voor een klant een simpele inventarisatie doen van zijn netwerk inclusief computers.

Ik gebruik hiervoor psinfo en het volgende vbs script :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim WshShell  
  
Dim Value  
  
Set WshShell = WScript.CreateObject("WScript.Shell")  
  
'Copy psinfo Files Command Line  
  
WshShell.Run "xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\Psinfo.exe /Y /Q /M /C"  

value = WshShell.Run ("psinfo.exe -d")  

'Audit Software  
  
Set oShell = WScript.CreateObject("WScript.Shell")  
  
oShell.CurrentDirectory = "C:\windows\system32\"  
  
oShell.Run "%comspec% /c psinfo.exe -d > \\amman\Inventory$\result.txt"


Dit werkt allemaal perfect en moet nog even uit worden gewerkt, maar ik loop vast bij een lelijke en vooral irritante error van xcopy

Namelijk deze :

code:
1
2
3
Does C:\windows\system32\Psinfo.exe specify a file name
or directory name on the target
(F = file, D = directory)?


Na wat googlen levert het mij helaas geen oplossing op. Heeft iemand een idee of alternatief hoe ik het psinfo bestand naar de system32 map krijg? Anders wil hij het psinfo bestand niet uitvoeren ivm met een probleem met UNC paden in cmd.

Ik kan overigens gewoon op F drukken bij deze melding en de script loopt netjes door en geeft een output van psinfo in de txt file.

Maar dit is dus alleen met interactie van de user en niet echt handig/netjes voor een login script.

[ Voor 8% gewijzigd door Workaholic op 15-04-2008 16:21 ]

Mijn V&A


  • Nulnulnix
  • Registratie: Januari 2001
  • Laatst online: 09-09-2025

Nulnulnix

BOFH

Probeer de volgende regel te vervangen:
xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\Psinfo.exe
in:
xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\

We have just one world, but we live in different ones...


  • Archie_T
  • Registratie: Januari 2002
  • Laatst online: 22:12
Xcopy /I werkt toch gewoon?
<edit>
Stom.... fout gelezen... Maar waarom gebruik je vbscript om dos commando's op te starten?

code:
1
2
set objFSO=wscript.createobject ("scripting.filesystemobject")
objFSO.Copyfile "\\amman\Inventory$\Psinfo.exe", "c:\windows\system32\",true


Is uit het hoofd gedaan, dus kan nog wat aanpassingen nodig hebben...

[ Voor 98% gewijzigd door Archie_T op 15-04-2008 16:28 ]


  • ZeRoC00L
  • Registratie: Juli 2000
  • Niet online
Probeer de regel van de copie eens aan te passen naar:

code:
1
WshShell.Run "xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32 /Y /Q /M /C"

[*] Error 45: Please replace user
Volg je bankbiljetten


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

alt-92

ye olde farte

Archie_T schreef op dinsdag 15 april 2008 @ 16:24:

Stom.... fout gelezen... Maar waarom gebruik je vbscript om dos commando's op te starten?
Dat vraag ik me dus ook al af, bovendien zit je dan nog eens met het remote opstarten zonder padinfo.

Anders gebruik je toch psexec? dan kun je het in één keer afhandelen met een remote push & execute van psinfo.


offtopic:
Of je gebruikt WMI om de hele zooi uit te lezen van afstand..

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


  • Workaholic
  • Registratie: Februari 2003
  • Niet online
Dubbel post sorry

[ Voor 96% gewijzigd door Workaholic op 15-04-2008 17:01 ]

Mijn V&A


  • Workaholic
  • Registratie: Februari 2003
  • Niet online
Nulnulnix schreef op dinsdag 15 april 2008 @ 16:24:
Probeer de volgende regel te vervangen:
xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\Psinfo.exe
in:
xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\
Al getest, hierbij de uitvoer :

code:
1
2
C:\WINDOWS>xcopy xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\
Invalid number of parameters
ZeRoC00L schreef op dinsdag 15 april 2008 @ 16:25:
Probeer de regel van de copie eens aan te passen naar:

code:
1
WshShell.Run "xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32 /Y /Q /M /C"
No go..
code:
1
2
3
C:\WINDOWS>xcopy \\amman\Inventory$\Psinfo.exe C:\WINDOWS\system32 /E /Y /Q /M /
C
0 File(s) copied
Archie_T schreef op dinsdag 15 april 2008 @ 16:24:
Xcopy /I werkt toch gewoon?
<edit>
Stom.... fout gelezen... Maar waarom gebruik je vbscript om dos commando's op te starten?
Omdat je psinfo.exe niet kunt starten via cmd prompt of een bat script wanneer de exe file niet lokaal op de pc staat.

Verder krijg je problemen met unc paden in cmd prompt, is alleen met een reg aanpassing goed te krijgen. Vandaar mijn keuze voor vb script.
alt-92 schreef op dinsdag 15 april 2008 @ 16:52:
[...]


Dat vraag ik me dus ook al af, bovendien zit je dan nog eens met het remote opstarten zonder padinfo.

Anders gebruik je toch psexec? dan kun je het in één keer afhandelen met een remote push & execute van psinfo.


offtopic:
Of je gebruikt WMI om de hele zooi uit te lezen van afstand..
Remote opstarten is dus juist geen probleem met dit vb script via een GPO startup script.

Psexec had ik nog niet aangedacht, dat zou ik nog kunnen proberen idd. Voor wat het wmi betreft, heb je gelijk in.. maar is iets meer werk dan dit psinfo scriptje van 30sec.

[ Voor 21% gewijzigd door Workaholic op 15-04-2008 17:04 ]

Mijn V&A


  • Workaholic
  • Registratie: Februari 2003
  • Niet online
Probleem opgelost via een andere methode.

Voor de mensen die graag dit script willen inzetten in hun active directory omgeving als snelle inventory tool :

Zie hier de code :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim WshShell

Dim Value

Set WshShell = WScript.CreateObject("WScript.Shell")

'Copy psinfo Files Command Line

set objFSO=wscript.createobject ("scripting.filesystemobject")
call objFSO.Copyfile("\\amman\Inventory$\Psinfo.exe", "c:\windows\system32\", true)
hostname = WshShell.ExpandEnvironmentStrings("%computername%")
if not objFSO.folderExists("\\amman\Inventory$\\" & hostname) then
    objFSO.createFolder("\\amman\Inventory$\" & hostname)
end if

'call WshShell.Run ("psinfo.exe -d", 1, true)

'Audit Software

WshShell.CurrentDirectory = "C:\windows\system32\"

result = WshShell.Run("%comspec% /c psinfo.exe -d > \\amman\Inventory$\%computername%\result.txt", 0, true)


Hij maakt ook een folder op basis van de hostname aan.

[ Voor 4% gewijzigd door Workaholic op 15-04-2008 18:19 ]

Mijn V&A


  • sjongenelen
  • Registratie: Oktober 2004
  • Laatst online: 21:49
Audi-Addict schreef op dinsdag 15 april 2008 @ 18:03:
Probleem opgelost via een andere methode.

Voor de mensen die graag dit script willen inzetten in hun active directory omgeving als snelle inventory tool :

Zie hier de code :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim WshShell

Dim Value

Set WshShell = WScript.CreateObject("WScript.Shell")

'Copy psinfo Files Command Line

'WshShell.Run "xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32 /Y /Q /M /C"
set objFSO=wscript.createobject ("scripting.filesystemobject")
call objFSO.Copyfile("\\amman\Inventory$\Psinfo.exe", "c:\windows\system32\", true)
hostname = WshShell.ExpandEnvironmentStrings("%computername%")
if not objFSO.folderExists("\\amman\Inventory$\\" & hostname) then
    objFSO.createFolder("\\amman\Inventory$\" & hostname)
end if

'call WshShell.Run ("psinfo.exe -d", 1, true)

'Audit Software

WshShell.CurrentDirectory = "C:\windows\system32\"

result = WshShell.Run("%comspec% /c psinfo.exe -d > \\amman\Inventory$\%computername%\result.txt", 0, true)


Hij maakt ook een folder op basis van de hostname aan.
ik vind het leuk, maar nog steeds een beetje raar; UNC paden werken bij mij gewoon prima als batch
(windows 2000 workstations)

you had me at EHLO


  • Nulnulnix
  • Registratie: Januari 2001
  • Laatst online: 09-09-2025

Nulnulnix

BOFH

Audi-Addict schreef op dinsdag 15 april 2008 @ 17:01:
[...]


Al getest, hierbij de uitvoer :

code:
1
2
C:\WINDOWS>xcopy xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\
Invalid number of parameters



[...]


No go..
code:
1
2
3
C:\WINDOWS>xcopy \\amman\Inventory$\Psinfo.exe C:\WINDOWS\system32 /E /Y /Q /M /
C
0 File(s) copied



[...]


Omdat je psinfo.exe niet kunt starten via cmd prompt of een bat script wanneer de exe file niet lokaal op de pc staat.

Verder krijg je problemen met unc paden in cmd prompt, is alleen met een reg aanpassing goed te krijgen. Vandaar mijn keuze voor vb script.


[...]


Remote opstarten is dus juist geen probleem met dit vb script via een GPO startup script.

Psexec had ik nog niet aangedacht, dat zou ik nog kunnen proberen idd. Voor wat het wmi betreft, heb je gelijk in.. maar is iets meer werk dan dit psinfo scriptje van 30sec.
Tja, "xcopy xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\" gaat ook niet werken. Je hebt 2 maal het xcopy commando gebruikt en dan probeert xcopy xcopy te copieren!

We have just one world, but we live in different ones...


  • Workaholic
  • Registratie: Februari 2003
  • Niet online
Nulnulnix schreef op woensdag 16 april 2008 @ 07:52:
[...]


Tja, "xcopy xcopy \\amman\Inventory$\Psinfo.exe c:\windows\system32\" gaat ook niet werken. Je hebt 2 maal het xcopy commando gebruikt en dan probeert xcopy xcopy te copieren!
Gewoon even verkeerd geplakt en geknipt :) Dat was het dus niet, hij blijft aangeven en vragen of het een file of directory is.

Maar dat maakt niet uit, probleem is inmiddels al opgelost zoals hierboven staat omschreven via een andere copy method.

Toch bedankt voor de moeite!

Mijn V&A


  • LuckY
  • Registratie: December 2007
  • Niet online
Je kan ook gaan kijken naar OCS-inventory.
Server based programma en is Opensource
Installeert zichzelf bij de startup en geeft gedetailleerde info van de systemen.

Bedankt voor het script
Pagina: 1