Question Scanner les lecteurs mappé, connecter un lecteur

Plus d'informations
il y a 12 ans 1 mois #16946 par Laurent Dardenne
Utilise l'événement FormClosing de ta winform principale :
msdn.microsoft.com/fr-fr/library/system....ng%28v=vs.80%29.aspx

Voir aussi :
Closed, événement
Closing, événement
FormClosed, événement
FormClosing, événement

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16960 par Droxolf
Réponse de Droxolf sur le sujet Re:Scanner les lecteurs mappé
Bon je ne trouve pas pour mon close ()...je verrais ça plupart.

Est ce que la fonction MapNetworkDrive renvoie une valeur ?

[code:1]
$connection.MapNetworkDrive((Get-NextFreeDrive)[0],$drive, $false,$login,$pass)
[/code:1]

car je voudrais tester s'il a bien connecté le drive ou non afin d'affiché à l'utilisateur le drive qui n'a pas été connecté ?

genre :
[code:1]
function Get-NextFreeDrive
{
68..90 | ForEach-Object { \"$([char]$_):\" } |
Where-Object { 'h:', 'k:', 'z:' -notcontains $_ } |
Where-Object { (new-object System.IO.DriveInfo $_).DriveType -eq 'noRootdirectory' }
}

$login=\"******\"
$pass=\"*******\"
# liste des mappages actuel
$map_actu = Get-WmiObject -Class Win32_LogicalDisk -Filter \"DriveType=4\" | foreach {$_.ProviderName}
$map_actu_lettre = Get-WmiObject -Class Win32_LogicalDisk -Filter \"DriveType=4\" | foreach {$_.DeviceID}
# comparaison avec la base de ref

$map_compare = Compare-Object -referenceobject $map_actu -DifferenceObject $base -property name -passThru
foreach($drive in $map_compare)
{
$connection = New-Object -com Wscript.Network
$test_drive=$connection.MapNetworkDrive((Get-NextFreeDrive)[0],$drive, $false,$login,$pass)
if ($test_drive = 0)
{
$listBox1.Items.Add(\"le drive\" +$drive+ \" est connecté\")
else
$listBox1.Items.Add(\"le drive\"+$drive+ \"n'est pas connecté\")
}
}

[/code:1]

Message édité par: Droxolf, à: 13/02/14 17:58<br><br>Message édité par: Droxolf, à: 13/02/14 17:58

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16962 par Laurent Dardenne
Droxolf écrit:

Est ce que la fonction MapNetworkDrive renvoie une valeur ?

Non, voir la doc .
Droxolf écrit:


car je voudrais tester s'il a bien connecté le drive ou non afin d'affiché à l'utilisateur le drive qui n'a pas été connecté ?

Oui, c'est le soucis avec cet objet COM, je comptais écrire une version plus robuste, mais pas eu le temps.
D'après un retour client, il y a un bug potentiel sur un TSE je crois. Les drived ne sont pas montés dans un logon script et le code ne déclenche pas d'exception. Je crois que le client avait placé des délais juste après le code de création pour résoudre ce pb, mais je n ai pas eu de confirmation sur ce point.<br><br>Message édité par: Laurent Dardenne, à: 13/02/14 18:17

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16964 par Droxolf
Réponse de Droxolf sur le sujet Re:Scanner les lecteurs mappé

Oui, c'est le soucis avec cet objet COM, je comptais écrire une version plus robuste, mais pas eu le temps.
D'après un retour client, il y a un bug potentiel sur un TSE je crois. Les drived ne sont pas montés dans un logon script et le code ne déclenche pas d'exception. Je crois que le client avait placé des délais juste après le code de création pour résoudre ce pb, mais je n ai pas eu de confirmation sur ce point.&lt;br&gt;&lt;br&gt;Message édité par: Laurent Dardenne, à: 13/02/14 18:17


pourtant quand je lance mon script dans la console powershell il y a bien un message d'erreur quand il n'arrive pas à se connecter dessus.

Exception calling \&quot;MapNetworkDrive\&quot; with \&quot;5\&quot; argument(s): \&quot;Le nom de périphérique local a une connexion mémorisée sur une autre ressource réseau.
\&quot;
At C:\Users\mdehondt\Desktop\scripts\XML\app.ps1:84 char:44
+ $connection.MapNetworkDrive &lt;&lt;&lt;&lt; ((Get-NextFreeDrive)[0],$drive, $false,$login,$pass)
+ CategoryInfo : NotSpecified: (: ) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation

<br><br>Message édité par: Droxolf, à: 14/02/14 07:56

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16966 par ANTRI Mohamed
Hello,

Si tu as l'erreur tu pourrais alors créer un [code:1]try catch[/code:1] afin de lancer du code Powershell lorsque une exception est levé.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16973 par Laurent Dardenne
Droxolf écrit:

pourtant quand je lance mon script dans la console powershell il y a bien un message d'erreur quand il n'arrive pas à se connecter dessus.

Je me suis mal exprimé, comme le propose Antri tu peux gérer les exceptions déclenchées par cet objet, mais dans le cas que je signalais, le drive n'est pas monté et l'objet ne déclenche aucune exception.

Pour s'assurer que l'appel à réussi, placer un délai (250 ms) puis vérifier si le drive existe avec la bonne configuration. Sinon scripter autour de code C#+ P/Invoke .<br><br>Message édité par: Laurent Dardenne, à: 14/02/14 11:35

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.059 secondes
Propulsé par Kunena