OVH Cloud OVH Cloud

Passer du VBS au PowerShell

3 réponses
Avatar
Georges
Bonjour,
Je suis en train d'essayer Windows Vista et les scripts de connexion
n'ont pas l'air de bien passer ci-joint un exemple.

Aussi, ne serait-il pas preferable de passer au PowerShell.

Mes Contr=F4leurs AD sont sous windows 2003 server R2, mes serveurs de
donn=E9es et messagerie aussi.

Les 3/4 des postes sont sous XP sp2 et le dernier 1/4 sous W2k que je
souhaite remplacer par des machines neuves avec Vista

Pour me mettre le pied =E0 l'=E9trier, quelqu'un pourrait-il me
''traduire'' le script ci-dessous en PowerShell car c'est un des
scripts que j'utilise.

Merci d'avance pour tout.

DEBUT ----------------------------
Dim net, oShell, oFileSystem, oShortcut

'J'ajoute les imprimantes
Set net =3D CreateObject("WScript.Network")
On Error Resume Next

net.AddWindowsPrinterConnection "\\bipro\hpinkjet2200c"

net.AddWindowsPrinterConnection "\\bipro\hp-photosmart"

'Je d=E9clare l'imprimante par d=E9faut
net.SetDefaultPrinter "\\bipro\hpinkjet2200c"

'Je d=E9connecte les Map Disk existants
if (MapNetworkDrive =3D "f:") then
net.RemoveNetworkDrive "f:"
end if

if (MapNetworkDrive =3D "g:") then
net.RemoveNetworkDrive "g:"
end if

if (MapNetworkDrive =3D "h:") then
net.RemoveNetworkDrive "h:"
end if

if (MapNetworkDrive =3D "k:") then
net.RemoveNetworkDrive "k:"
end if

if (MapNetworkDrive =3D "i:") then
net.RemoveNetworkDrive "i:"
end if

if (MapNetworkDrive =3D "j:") then
net.RemoveNetworkDrive "j:"
end if
if (MapNetworkDrive =3D "l:") then
net.RemoveNetworkDrive "l:"
end if

if (MapNetworkDrive =3D "v:") then
net.RemoveNetworkDrive "v:"
end if

'Je rajoute les Bons Map
net.MapNetworkDrive "f:", "\\bipro\vol1"
net.MapNetworkDrive "g:", "\\bipro\vol2"
net.MapNetworkDrive "h:", "\\bipro\vol3"
net.MapNetworkDrive "i:", "\\bipro\vol4"
net.MapNetworkDrive "k:", "\\bipro\volsys"
net.MapNetworkDrive "j:", "\\bipro\temp"
net.MapNetworkDrive "l:", "\\bipro\spool"
net.MapNetworkDrive "v:", "\\snapserver\racine"


'Je cr=E9=E9 des raccourcis sur le bureau
set oShell =3D WScript.CreateObject("WScript.Shell")
set oFileSystem =3D WScript.CreateObject("Scripting.FileSystemObject")
sDesktopFolder =3D oShell.SpecialFolders("Desktop")

if oFileSystem.FileExists(sDesktopFolder & "\Dossiers Commun (G).lnk")
then
oFileSystem.DeleteFile(sDesktopFolder & "\Dossiers Commun (G).lnk")
end if
set oShortcut =3D oShell.CreateShortcut(sDesktopFolder & "\Dossiers
Commun (G).lnk")
oShortcut.TargetPath =3D "\\bipro\vol2\"
oShortcut.IconLocation =3D "%SystemRoot%\System32\SHELL32.dll,60"
oShortcut.Save

'J'envoie un message pour avertir que le script est bien pass=E9
msg=3D"Bonjour Georges" &VBCRLF
msg=3Dmsg & VBCRLF
msg=3Dmsg & " Ton script =E0 l'air d'avoir bien fonctionn=E9" & VBCRLF
msg=3Dmsg & "Je te souhaite donc de passer une bonne journ=E9e" & VBCRLF
msg=3Dmsg & VBCRLF & VBCRLF
msg=3Dmsg & " --- Yves --- "
msg=3Dmsg & VBCRLF & VBCRLF

wscript.echo msg
wscript.quit


'J'ai termin=E9 mon sript. ......OUF !!!

------------------------------------------- FIN

3 réponses

Avatar
Gilles LAURENT
"Georges" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| Je suis en train d'essayer Windows Vista et les scripts de connexion
| n'ont pas l'air de bien passer ci-joint un exemple.

Cela doit également être vrai sous 2000/XP car il y a plusieurs erreurs
dans le script joint. La fonction ou procédure 'MapNetworkDrive'
n'existe pas donc les mappages réseau échouent si les lecteurs sont déjà
montés ! Dans ce cas précis, la déclaration MapNetworkDrive est
considérée comme une variable de type chaîne. En règle générale,
supprimez la déclaration 'On Error Resume Next' pour voir les messages
d'erreur lors de l'exécution du script.

| 'Je déconnecte les Map Disk existants
| if (MapNetworkDrive = "f:") then
| net.RemoveNetworkDrive "f:"
| end if

IMPORTANT : Lorsque vous Postez sur un autre forum un script issu de
*microsoft.public.fr.scripting* ou tout autre forum d'ailleurs alors
merci de l'indiquer dans la réponse à l'usager ou tout du moins
l'indiquer dans le header du script. Je fais référence à un Post du
22/11/2006 sur microsoft.public.fr.windows2000server.

| Aussi, ne serait-il pas preferable de passer au PowerShell.

Sur les postes clients, à mon avis Non. Par contre sur les stations
d'administration alors ma réponse est Oui.

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Georges
On 2 fév, 20:59, "Gilles LAURENT" wrote:
"Georges" a écrit dans le message denews:1170437586
| Bonjour,

Bonjour,

| Je suis en train d'essayer Windows Vista et les scripts de connexion
| n'ont pas l'air de bien passer ci-joint un exemple.

Cela doit également être vrai sous 2000/XP car il y a plusieurs erreu rs
dans le script joint. La fonction ou procédure 'MapNetworkDrive'
n'existe pas donc les mappages réseau échouent si les lecteurs sont d éjà
montés ! Dans ce cas précis, la déclaration MapNetworkDrive est
considérée comme une variable de type chaîne. En règle généra le,
supprimez la déclaration 'On Error Resume Next' pour voir les messages
d'erreur lors de l'exécution du script.

| 'Je déconnecte les Map Disk existants
| if (MapNetworkDrive = "f:") then
| net.RemoveNetworkDrive "f:"
| end if

IMPORTANT : Lorsque vous Postez sur un autre forum un script issu de
*microsoft.public.fr.scripting* ou tout autre forum d'ailleurs alors
merci de l'indiquer dans la réponse à l'usager ou tout du moins
l'indiquer dans le header du script. Je fais référence à un Post du
22/11/2006 sur microsoft.public.fr.windows2000server.

| Aussi, ne serait-il pas preferable de passer au PowerShell.

Sur les postes clients, à mon avis Non. Par contre sur les stations
d'administration alors ma réponse est Oui.

--
Gilles LAURENThttp://glsft.free.fr


Ok et merci pour la réponse

Avatar
Gilles LAURENT
"Georges" a écrit dans le message de
news:
| Ok et merci pour la réponse

Tenez nous au courant et n'hésitez pas à revenir vers nous.

--
Gilles LAURENT
http://glsft.free.fr