Remontées des lecteurs réseaux avec VBScript

Signaler
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020
-
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020
-
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

1 réponse

Messages postés
13275
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2020
746
bonjour,
peux-tu montrer un exemple plus simple et plus court?

"alors que non": comment vérifies-tu que non?
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020
2 >
Messages postés
12840
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2020

J'ai appliqué votre correction mais les lecteurs ne remontent toujours pas.
Messages postés
12840
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2020
3 816 >
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020

Oui je sais je n'ai pas dis que j'avais la solution, c'est juste pour simplifier ton script.
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020
2 >
Messages postés
12840
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2020

je comprends parfaitement? Est ce que vous voulez le script fonctionnel et le non-fonctionnel pour comparer ?
Messages postés
12840
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2020
3 816 >
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020

oui avec un peu de chance je vais peut-être trouver ce qui cloche.
Messages postés
950
Date d'inscription
lundi 31 août 2015
Statut
Non membre
Dernière intervention
24 novembre 2020
2 >
Messages postés
12840
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2020

C'est à dire ?