Remontées des lecteurs réseaux avec VBScript
BRRG
Messages postés
1137
Date d'inscription
Statut
Membre
Dernière intervention
-
BRRG Messages postés 1137 Date d'inscription Statut Membre Dernière intervention -
BRRG Messages postés 1137 Date d'inscription Statut Membre Dernière intervention -
Bonjour, avec ce script, il est dit que le nom du périphérique est déjà monté alors que non.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Description : Le VBScript permet le montage en local et à distance via un VPN des lecteurs réseaux connectés avec un nom compréhensible au NAS Synology ' ' ' Auteur : BARRANGER Guillaume ' ' Création le : 12 Novembre 2020 ' ' Dernière Modification le : ' ' ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' ' DESACTIVATION DE L'UAC ' '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' Option Explicit '---- Déclaration des variables ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Dim ObjetRegedit, CleRegistre, WshShell, ObjetNetwork, objNetwork, run, shl, oProcess, hostsNewLine, hostsNewLineLocal, fso, WinDir, HostsFile, objFSO, objFile, filetxt, x, varUser, varPassword, bKey, pKey, WSHNetwork '---- Definition du contenu de la variable -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Set ObjetRegedit = CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") set shl = createobject("wscript.shell") 'Set WshShell = WScript.CreateObject("WScript.Shell") '---- Execution des droits administrateurs -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- If Not WScript.Arguments.Named.Exists("elevate") Then CreateObject("Shell.Application").ShellExecute WScript.FullName _ , WScript.ScriptFullName & " /elevate", "", "runas", 1 End If '---- Récupération du contenu de la clef, placement dans la variable "CleRegistre" ---------------------------------------------------------------------------------------------------------------------------------------- CleRegistre = ObjetRegedit.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") '---- Lecture de la clé de registre. Si la valeur est égale à 1 tout est correct sinon la clé qui est égale à 0 doit être supprimée puis créée avec la valeur 1. If TypeName(CleRegistre) = "Empty" Then Else If CleRegistre = "1" then' '---- Suppression de la clé de registre shl.run "cmd /c REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f" '---- Création des valeurs et son type "REG_DWORD". shl.run "cmd /c REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f" End If End if msgbox "Coupure1" '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' ' AJOUTER DANS LE FICHIER HOSTS ' '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' Const ForReading = 1, ForWriting = 2, ForAppending = 8, ReadOnly = 1 msgbox "Coupure2" '---- Ajout des lignes dans le fichier hosts ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ hostsNewLine = " 10.8.0.1 xx-DSM" hostsNewLineLocal = " 172.16.X;X XX-DSM" 'msgbox "Coupure2.1" '---- Modificatication du fichier hosts ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set WshShell=CreateObject("WScript.Shell") WinDir =WshShell.ExpandEnvironmentStrings("%WinDir%") 'msgbox "Coupure2.2" '---- HostsFile = WinDir & "\System32\Drivers\etc\Hosts" msgbox "Coupure3" '---- Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(HostsFile, ForReading) msgbox "Coupure4" '---- Do Until objFile.AtEndOfStream If InStr (objFile.ReadLine, hostsNewLine) <> 0 Then 'WScript.Quit End If Loop 'objFile.Close msgbox "Coupure5" '---- Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(HostsFile) If objFile.Attributes AND ReadOnly Then objFile.Attributes = objFile.Attributes XOR ReadOnly End If '---- Execution des droits administrateurs -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'If Not WScript.Arguments.Named.Exists("elevate") Then ' CreateObject("Shell.Application").ShellExecute WScript.FullName _ ' , WScript.ScriptFullName & " /elevate", "", "runas", 1 ' WScript.Quit 'End If '---- Set filetxt = fso.OpenTextFile(HostsFile, ForAppending, True) filetxt.WriteLine(vbNewLine & hostsNewLine) filetxt.WriteLine(vbNewLine & hostsNewLineLocal) filetxt.Close '---- Destruction des objets ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Set ObjetRegedit = Nothing '---- Quitter le script --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'WScript.Quit msgbox "Coupure6" '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' ' ACTIVATION DE L'UAC ' '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' msgbox "Coupure7" '---- Definition du contenu de la variable -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Set ObjetRegedit = CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") set shl = createobject("wscript.shell") Set WshShell = WScript.CreateObject("WScript.Shell") msgbox "Coupure8" '---- Execution des droits administrateurs -------------------------------------------------------------------------------------------------------------------------------------------------------------------- If Not WScript.Arguments.Named.Exists("elevate") Then CreateObject("Shell.Application").ShellExecute WScript.FullName _ , WScript.ScriptFullName & " /elevate", "", "runas", 1 WScript.Quit End If msgbox "Coupure9" '---- Récupération du contenu de la clef, placement dans la variable "CleRegistre" --------------------------------------------------------------------------------------------------- CleRegistre = ObjetRegedit.RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") '---- Lecture de la clé de registre. Si la valeur est égale à 0 alors le rajout de la ligne dans le fichier host est à effectuer sinon la clé qui est égale à 1 doit être supprimée -- '---- puis créée avec la valeur 0. --------------------------------------------------------------------------------------------------------------------------------------------------- msgbox "Coupure10" If TypeName(CleRegistre) = "Empty" Then 'MsgBox "Clef registre inexistante" Else 'MsgBox "Valeur de CleRegistre " & CleRegistre If CleRegistre = "0" then msgbox "Coupure11" '---- Suppression de la clé de registre ------------------------------------------------------------------------------------------------------------------------------------------ shl.run "cmd /c REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f" '---- Création des valeurs et son type "REG_DWORD" --------------------------------------------------------------------------------------------------------------------------- shl.run "cmd /c REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f" msgbox "Coupure12" ' MsgBox "Je suis bien passé dans le If de CleRegistre = 0, passage à valeur 1 FAIT" ' Else ' MsgBox "Je suis bien passé dans le If de CleRegistre = 0, donc pas de modification" End If End if msgbox "Coupure13" '---- Destruction des objets --------------------------------------------------------------------------------------------------------------------------------------------------------- Set ObjetRegedit = Nothing 'WScript.Quit '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' ' RENOMMAGE DES LECTEURS RESEAUX ' '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' Set WshShell = WScript.CreateObject("WScript.Shell") msgbox "Coupure14" Set WshShell = CreateObject("WScript.Shell") pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Autre\_LabelFromReg" WshShell.RegWrite pKey, "Autre" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Cours\_LabelFromReg" WshShell.RegWrite pKey, "Cours" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Documents\_LabelFromReg" WshShell.RegWrite pKey, "Documents" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Films_Series_Dessins-Animes\_LabelFromReg" WshShell.RegWrite pKey, "Films_Series_Dessins-Animes" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Images\_LabelFromReg" WshShell.RegWrite pKey, "Images" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Logiciels\_LabelFromReg" WshShell.RegWrite pKey, "Logiciels" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Musiques\_LabelFromReg" WshShell.RegWrite pKey, "Musiques" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Photos\_LabelFromReg" WshShell.RegWrite pKey, "Photos" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Pieces officielles\_LabelFromReg" WshShell.RegWrite pKey, "Pieces officielles" pkey = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##XX-DSM#Videos\_LabelFromReg" WshShell.RegWrite pKey, "Videos" '---- Destruction des objets ------------------------------------------------------------------------------------------------------------------------------------------ Set ObjetRegedit = Nothing '---- Quitter le script ---------------------------------------------------------------------------------------------------------------------------------------------- 'WScript.Quit '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' ' MONTAGE ET CONNEXION DES LECTEURS RESEAUX ' '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------' '/!\ PROBLEME :!\ msgbox "Coupure15" '---- Informations de connexion à la session ----------------------------------------------------------------------------------------------------------------------------------------- varUser = "XX" varPassword = "XX!" '---- Definition du contenu de la variable ------------------------------------------------------------------------------------------------------------------------------------------- Set WSHNetwork = WScript.CreateObject("WScript.Network") '*** Permet de continuer le script même s'il y a une erreur msgbox "Coupure16" '---- REMONTEES DES LECTEURS RESEAUX ------------------------------------------------------------------------------------------------------------------------------------------------- WSHNetwork.MapNetworkDrive "Q:" , "\\XX-DSM\Autre", False, varUser, varPassword msgbox "Coupure17" 'On Error GoTo 0 'msgbox "Coupure1." '*** Destruction des objets 'Set ObjetNetwork = Nothing 'msgbox "Coupure1." 'WScript.Quit
A voir également:
- Remontées des lecteurs réseaux avec VBScript
- Revue-reseaux-2009-numero153-page-55 - Forum Microsoft Edge / Internet Explorer
- Entrée dans le réseau des pic ✓ - Forum Laposte
- Frédéric cherche à faire le buzz sur les réseaux sociaux. - Forum Graphisme
- Matthias utilise les réseaux sociaux. que doit-il faire dans chacune des situations suivantes ? ✓ - Forum SFR / NeufBox / Numéricable
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu montrer un exemple plus simple et plus court?
"alors que non": comment vérifies-tu que non?
peux-tu montrer un exemple plus simple et plus court?
"alors que non": comment vérifies-tu que non?
quand le problème a disparu, montre la version sans le problème et la version juste avant.
-> Désactivation de l'UAC seul = J'ai le message d'erreur qui s'affiche mais les remontées se font.
-> Ajout dans le fichier hosts seul = J'ai le message d'erreur qui s'affiche mais les remontées se font.
-> Activation de l'UAC seul = J'ai le message d'erreur qui s'affiche mais les remontées se font pas.
-> Renommage des lecteurs seul = Je n'ai pas le message d'erreur qui s'affiche et les remontées se font.