OVH Cloud OVH Cloud

Pagefile.vbs & cmdLib.wsc

3 réponses
Avatar
Gael
Bonjour,

sur un 2000 j'ai besoin de modifier le pagefile.
j'étais parti sur pagefile.vbs, qui me sembla la meilleure solution (?),
mais j'ai une erreur à l'execution concernant un CmdLib.wsc...

Après quelques recherches, ce fichier est apparemment un fichier appartenant
à XP...

pouvez vous m'en dire plus sur la possibilité de modifier le pagefile avec
pagefile.vbs sur un 2000 server?

Merci
G

3 réponses

Avatar
Jacques Barathon [MS]
"Gael" wrote in message
news:
Bonjour,

sur un 2000 j'ai besoin de modifier le pagefile.
j'étais parti sur pagefile.vbs, qui me sembla la meilleure solution (?),
mais j'ai une erreur à l'execution concernant un CmdLib.wsc...

Après quelques recherches, ce fichier est apparemment un fichier
appartenant
à XP...

pouvez vous m'en dire plus sur la possibilité de modifier le pagefile avec
pagefile.vbs sur un 2000 server?


Je ne saurais répondre pour pagefile.vbs, mais tu peux assez facilement
faire ton propre script en utilisant la classe WMI Win32_PageFileSetting:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_pagefilesetting.asp

Cette classe est disponible depuis NT4 SP4, donc pas de souci pour
l'utiliser sur un 2000 Server.

Jacques

Avatar
Gael
Ha oui, j'avais essayé au début, mais je dois définir C: à 0 et D: à 4092
et il me semble qu'il est impossible de définir à 0 avec Win32_PageFileSetting
non?
De plus, je n'arrivais pas à créer un pagefile sur un autre disque qd il
n'existe pas...


----------------

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colPageFiles = objWMIService.ExecQuery _
("Select * from Win32_PageFileSetting where name = "C:pagefile.sys")
For Each objPageFile in colPageFiles
objPageFile.InitialSize = 0
objPageFile.MaximumSize = 0
objPageFile.Put_
Next


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colPageFiles = objWMIService.ExecQuery _
("Select * from Win32_PageFileSetting where name = "D:pagefile.sys")
For Each objPageFile in colPageFiles
objPageFile.InitialSize = 4092
objPageFile.MaximumSize = 4092
objPageFile.Put_
Next


-----------


ca semble correct non?

Merci




"Gael" wrote in message
news:
Bonjour,

sur un 2000 j'ai besoin de modifier le pagefile.
j'étais parti sur pagefile.vbs, qui me sembla la meilleure solution (?),
mais j'ai une erreur à l'execution concernant un CmdLib.wsc...

Après quelques recherches, ce fichier est apparemment un fichier
appartenant
à XP...

pouvez vous m'en dire plus sur la possibilité de modifier le pagefile avec
pagefile.vbs sur un 2000 server?


Je ne saurais répondre pour pagefile.vbs, mais tu peux assez facilement
faire ton propre script en utilisant la classe WMI Win32_PageFileSetting:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_pagefilesetting.asp

Cette classe est disponible depuis NT4 SP4, donc pas de souci pour
l'utiliser sur un 2000 Server.

Jacques






Avatar
Jean-Claude BELLAMY
Dans le message :,
Gael a pris la peine d'écrire ce qui suit :
Bonjour,

sur un 2000 j'ai besoin de modifier le pagefile.
j'étais parti sur pagefile.vbs, qui me sembla la meilleure solution
(?), mais j'ai une erreur à l'execution concernant un CmdLib.wsc...

Après quelques recherches, ce fichier est apparemment un fichier
appartenant à XP...

pouvez vous m'en dire plus sur la possibilité de modifier le pagefile
avec pagefile.vbs sur un 2000 server?



Pour modifger les fichiers de swap, une méthode très agricole consiste à
modifier tout simplement la clef de la BDR :
HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management

L'entrée "PagingFiles" de type REG_MULTI_SZ contient sous forme de chaines
multiples la liste les fichiers de swap :
<nom-complet-du-fichier1> <taille-mini-en-Mo> <taille-maxi-en-Mo>
<nom-complet-du-fichier2> <taille-mini-en-Mo> <taille-maxi-en-Mo>
<nom-complet-du-fichier3> <taille-mini-en-Mo> <taille-maxi-en-Mo>
...


Comme c'est une entrée REG_MULTi_SZ, on ne peut pas appeler RegWrite de
l'objet Shell (qui n'accepte que REG_SZ, REG_EXPAND_SZ et REG_DWORD).

Il faut passer par StdRegProv :


const HKEY_LOCAL_MACHINE = &H80000002
const REG_MULTI_SZ = 7
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!" & _
".rootdefault:StdRegProv")
strKeyPath ="SYSTEMCurrentControlSetControlSession ManagerMemory
Management"
MultValueName="PagingFiles"
Values = Array(_
"<nom-complet-du-fichier1> <taille-mini-en-Mo> <taille-maxi-en-Mo>", _
"<nom-complet-du-fichier2> <taille-mini-en-Mo> <taille-maxi-en-Mo>", _
.....
)
oReg.SetMultiStringValue HKEY_LOCAL_MACHINE, _
strKeyPath, MultValueName, Values



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr