Passer du VBS au PowerShell
Le
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ôleurs AD sont sous windows 2003 server R2, mes serveurs de
données 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 à l'étrier, 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 = CreateObject("WScript.Network")
On Error Resume Next
net.AddWindowsPrinterConnection "\\bipro\hpinkjet2200c"
net.AddWindowsPrinterConnection "\\bipro\hp-photosmart"
'Je déclare l'imprimante par défaut
net.SetDefaultPrinter "\\bipro\hpinkjet2200c"
'Je déconnecte les Map Disk existants
if (MapNetworkDrive = "f:") then
net.RemoveNetworkDrive "f:"
end if
if (MapNetworkDrive = "g:") then
net.RemoveNetworkDrive "g:"
end if
if (MapNetworkDrive = "h:") then
net.RemoveNetworkDrive "h:"
end if
if (MapNetworkDrive = "k:") then
net.RemoveNetworkDrive "k:"
end if
if (MapNetworkDrive = "i:") then
net.RemoveNetworkDrive "i:"
end if
if (MapNetworkDrive = "j:") then
net.RemoveNetworkDrive "j:"
end if
if (MapNetworkDrive = "l:") then
net.RemoveNetworkDrive "l:"
end if
if (MapNetworkDrive = "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:", "\\snapserveracine"
'Je créé des raccourcis sur le bureau
set oShell = WScript.CreateObject("WScript.Shell")
set oFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
sDesktopFolder = oShell.SpecialFolders("Desktop")
if oFileSystem.FileExists(sDesktopFolder & "\Dossiers Commun (G).lnk")
then
oFileSystem.DeleteFile(sDesktopFolder & "\Dossiers Commun (G).lnk")
end if
set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\Dossiers
Commun (G).lnk")
oShortcut.TargetPath = "\\bipro\vol2\"
oShortcut.IconLocation = "%SystemRoot%\System32\SHELL32.dll,60"
oShortcut.Save
'J'envoie un message pour avertir que le script est bien passé
msg="Bonjour Georges" &VBCRLF
msg=msg & VBCRLF
msg=msg & " Ton script à l'air d'avoir bien fonctionné" & VBCRLF
msg=msg & "Je te souhaite donc de passer une bonne journée" & VBCRLF
msg=msg & VBCRLF & VBCRLF
msg=msg & " Yves "
msg=msg & VBCRLF & VBCRLF
wscript.echo msg
wscript.quit
'J'ai terminé mon sript. OUF !!!
- FIN
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ôleurs AD sont sous windows 2003 server R2, mes serveurs de
données 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 à l'étrier, 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 = CreateObject("WScript.Network")
On Error Resume Next
net.AddWindowsPrinterConnection "\\bipro\hpinkjet2200c"
net.AddWindowsPrinterConnection "\\bipro\hp-photosmart"
'Je déclare l'imprimante par défaut
net.SetDefaultPrinter "\\bipro\hpinkjet2200c"
'Je déconnecte les Map Disk existants
if (MapNetworkDrive = "f:") then
net.RemoveNetworkDrive "f:"
end if
if (MapNetworkDrive = "g:") then
net.RemoveNetworkDrive "g:"
end if
if (MapNetworkDrive = "h:") then
net.RemoveNetworkDrive "h:"
end if
if (MapNetworkDrive = "k:") then
net.RemoveNetworkDrive "k:"
end if
if (MapNetworkDrive = "i:") then
net.RemoveNetworkDrive "i:"
end if
if (MapNetworkDrive = "j:") then
net.RemoveNetworkDrive "j:"
end if
if (MapNetworkDrive = "l:") then
net.RemoveNetworkDrive "l:"
end if
if (MapNetworkDrive = "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:", "\\snapserveracine"
'Je créé des raccourcis sur le bureau
set oShell = WScript.CreateObject("WScript.Shell")
set oFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
sDesktopFolder = oShell.SpecialFolders("Desktop")
if oFileSystem.FileExists(sDesktopFolder & "\Dossiers Commun (G).lnk")
then
oFileSystem.DeleteFile(sDesktopFolder & "\Dossiers Commun (G).lnk")
end if
set oShortcut = oShell.CreateShortcut(sDesktopFolder & "\Dossiers
Commun (G).lnk")
oShortcut.TargetPath = "\\bipro\vol2\"
oShortcut.IconLocation = "%SystemRoot%\System32\SHELL32.dll,60"
oShortcut.Save
'J'envoie un message pour avertir que le script est bien passé
msg="Bonjour Georges" &VBCRLF
msg=msg & VBCRLF
msg=msg & " Ton script à l'air d'avoir bien fonctionné" & VBCRLF
msg=msg & "Je te souhaite donc de passer une bonne journée" & VBCRLF
msg=msg & VBCRLF & VBCRLF
msg=msg & " Yves "
msg=msg & VBCRLF & VBCRLF
wscript.echo msg
wscript.quit
'J'ai terminé mon sript. OUF !!!
- FIN

Poser une question


| 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
Ok et merci pour la réponse
| 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