[R] DriveMapAdd()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

[R] DriveMapAdd()

#1

Message par Hugues »

Bonjour,

Je me connecte à une station en utilisant

Code : Tout sélectionner

DriveMapAdd("", "\\" & $IPCName & "\C$", 0, $User, $Password)]
.

J'ai mis volontairement "" pour device car, je ne veux pas que le lecteur réseau apparaisse dans l'explorateur Windows.

J'aimerai savoir ce que je dois mettre pour ouvrir un fichier voulu qui est sur ce lecteur réseau?

Code : Tout sélectionner

$hFile = FileOpen("FileName", 0)
Merci par avance.
Modifié en dernier par Hugues le ven. 05 sept. 2014 14:35, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#2

Message par jguinch »

Le chemin UNC : \\poste\c$\chemin\fichier.txt
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [..] DriveMapAdd()

#3

Message par Faco »

Salut,
je pence que device ne peux pas être vide, ça te renvoi pas '0' ton drivemap ??

si tu veux pas montrer ton lecteur tu peux le cacher via le registre :
► Afficher le texte
pour savoir quoi mettre dans '$dwordCacheDisque' :
A: -> 2^0 = 1
B: -> 2^1 = 2
C: -> 2^2 = 4
...
...

et pour cacher plusieurs disques tu additionne les valeurs :
-cacher A: et B: -> A+B=1+2=3
-cacher A: et C: -> A+C=1+4=5
-cacher A: et B: et C: -> A+B+C=1+2+4=7
...
...
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#4

Message par Hugues »

Merci à vous 2,

Si faco on peut mettre un vide -> The device to map, for example "O:" or "LPT1:". If you pass an empty string for this parameter a connection is made but not mapped to a specific drive. If you specify "*" an unused drive letter will be automatically selected.

La solution de jguinch me va bien. Je prefere ne pas toucher au base de registre. Je prefere les solutions simple.

Par contre la deconnexion du lecteur se fait comment?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#5

Message par jguinch »

Aucun problème pour le laisser vide. Voir la doc :
If you pass an empty string for this parameter a connection is made but not mapped to a specific drive

Ca établit la connexion, mais ça ne mappe pas de lettre de lecteur.
Pareil pour DriveMapDel
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#6

Message par Hugues »

Code : Tout sélectionner

DriveMapDel("\\" & $IPCName & "\C$")
suffirait?
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [..] DriveMapAdd()

#7

Message par Faco »

si tu utilise ça :
\\poste\c$\chemin\fichier.txt
tu ne map pas de disque donc pas besoin de "démapper" :)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#8

Message par jguinch »

@Hugues : oui.
@Faco : c'est pas parce qu'il n'y a pas de lettre mappée que la connexion doit rester active :
- Si par exemple le script mappe se connecte à un partage (via MapDriveAdd) pour l'installation d'une application, c'est peut-être pas une mauvaise idée de le déconnecter derrière, si on veut pas que quelqu'un accède au serveur.
- Si on a besoin d'accéder au serveur avec un nom d'utilisateur différent, on ne pourra pas si on ne supprime pas la connexion active (sauf si on utilise un nom de machine différent ou l'adresse IP pour le même serveur).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#9

Message par Hugues »

Ok, pour mon application, le but du jeu est de lire un fichier sur une station.

Je me connecte en caché, je lis le fichier, je ferme la connexion et ensuite je travaille sur mon FileRead.

Mais comment s'assurer que la connexion est vraiment supprimée quand on fait

Code : Tout sélectionner

DriveMapDel("\\" & $IPCName & "\C$")
?

Est-ce que selon mon code joint c'est OK?
► Afficher le texte
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#10

Message par jguinch »

DriveMapGet te permettra de savoir si la connexion existe ou non.

Plutôt que DriveMapDel, tu peux utiliser _WinNet_CancelConnection2 avec les 2 paramètres à True. Ca permet de forcer la suppression de la connexion.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] DriveMapAdd()

#11

Message par Hugues »

Ok merci _WinNet_CancelConnection2("\\" & $IPCName & "\C$", True, True) me va bien ^^
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [R] DriveMapAdd()

#12

Message par Faco »

dac,
on peut pas juste faire ça "$hFile = FileOpen("\\poste\c$\chemin\fichier.txt", 0)" alors?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] DriveMapAdd()

#13

Message par jguinch »

@faco : Tu peux, à condition d'avoir accès au partage (d'où l'intérêt de s'y connecter avant avec DriveMapAdd, en spécifiant un login/mdp)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [R] DriveMapAdd()

#14

Message par Faco »

dac,
j'ai pas eu de problème vu que je suis admin domaine et admin local des machines.

A retenir.... Merci
Répondre