Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Usb et Wifi

11 views
Skip to first unread message

Pat

unread,
Apr 17, 2007, 8:58:01 AM4/17/07
to
Bonjour à ,

Est-il possible via script VBS de lister le nombre de périphérique USb et
de déconnecter en toute sécurité les périphériques (ex: une clé USB sur
Windows XP.

J'ai une autre question est-il possible de lister les réseaux sans fil
disponible en invite de commande sous XP ou W2k3 !

Merci beaucoup d'avance de votre aide !

XX.mcXX@xmxclaveauxx.xx.com Michel Claveau

unread,
Apr 17, 2007, 10:50:27 AM4/17/07
to
Bonjour !

Pour la liste des connexions réseau sans fil, en invite de commande :

netsh interface ip show config "Connexion réseau sans fil"

--
@-salutations

Michel Claveau


Gilles LAURENT

unread,
Apr 17, 2007, 11:01:45 AM4/17/07
to
"Pat" <P...@discussions.microsoft.com> a écrit dans le message de
news:F87BA77F-753F-43F5...@microsoft.com
| Bonjour à tous,

Bonjour,

| Est-il possible via script VBS de lister le nombre de périphérique
| USb et de déconnecter en toute sécurité les périphériques (ex: une
| clé USB sur Windows XP.

C'est possible d'énumérer les périphériques USB de type stockage de
masse avec WMI ...
Win32_DiskDrive Where InterfaceType='USB'

... Par contre, l'éjection n'est pas possible. Il faut pour cela
utiliser un outil dédié.
DevEject :
ftp://ftp.heise.de/pub/ct/listings/0316-208.zip

Pour Lister :
\> deveject | find "masse USB"

Pour Ejecter :
\> deveject -EjectId:"<usb id>"

| J'ai une autre question est-il possible de lister les réseaux sans fil
| disponible en invite de commande sous XP ou W2k3 !

Tiens ! Il ne m'était jamais venu à l'idée d'explorer cette possibilité
! Je vais essayer de trouver des pistes et vous fait un retour au plus
tôt.

--
Gilles LAURENT
http://glsft.free.fr


XX.mcXX@xmxclaveauxx.xx.com Michel Claveau

unread,
Apr 17, 2007, 11:13:27 AM4/17/07
to
Bonjour !


Merci pour le lien.

La question posée par Pat est très intéressante, dans le cas où l'on
voudrait (par exemple), réaliser des sauvegardes par Script.
Forcer la déconnection/éjection, par script, serait un plus indéniable.

Du coup, je me pose une question dérivée : comment se comporte
DevEject, lorsque windows déclare ne pas pouvoir déconnecter le
périphérique ? Y a-t'il un retour d'information utilisable par script
?

Je sais, je pourrais tester, mais pour l'instant, c'est plutôt
difficile.


--
@-salutations

Michel Claveau


Gilles LAURENT

unread,
Apr 19, 2007, 2:40:06 PM4/19/07
to
"Michel Claveau" <Enleverles XX....@XmXclaveauXX.XX.com> a écrit dans
le message de news:mn.8c097d749...@XmXclaveauXX.XX.com
| Bonjour !

Bonjour,

| Merci pour le lien.

De rien ;-)

| La question posée par Pat est très intéressante, dans le cas où l'on
| voudrait (par exemple), réaliser des sauvegardes par Script.
| Forcer la déconnection/éjection, par script, serait un plus
| indéniable.

Tout à fait !

| Du coup, je me pose une question dérivée : comment se comporte
| DevEject, lorsque windows déclare ne pas pouvoir déconnecter le
| périphérique ? Y a-t'il un retour d'information utilisable par script
| ?

Question pertinante ! Je viens de tester l'éjection d'un périphérique
USB avec un fichier ouvert et cela ne dérange pas l'outil DevEject (1
device(s) ejected. et ErrorLevel=0). Par contre, le périphérique n'est
pas éjecté :-( Il est donc en effet nécessaire de s'assurer qu'aucun
fichier n'est ouvert avant de tenter l'éjection du périphérique
amovible. Pour cela, j'ai trouvé "unmount" :
http://www.uwe-sieber.de/files/unmnt10.zip

La séquence à respecter peut donc être la suivante (macro commandes)

' tentative de démontage du périphérique
' on s'assure qu'aucun fichier n'est ouvert en verrouillant
' de manière exclusive le périphérique amovible
' le périphérique est spécifié par sa lettre de lecteur
<drive_letter>
unmount -q <drive_letter>
' vérification du traitement (0 = OK)
if errorlevel 1 (
' impossible de démonter le périphérique
echo Unable to unmount the device !
echo There are still open files or an internal error occured
' fin de traitement
goto :end
)
' démontage réussi
' tentative d'éjection du périphérique amovible
deveject -EjectDrive:<drive_letter>
' vérification du traitement (0 = OK)
if errorlevel 1 (
echo An error occured while trying to eject the device
' il faudrait faire une nouvelle tentative avec le deviceId
' - ma clé USB s'éjecte correctement en spécifiant son unité
' - l'éjection échoue avec mon disque USB sauf si je spécifie
' son deviceId !?!
' To Be Continued ...
' fin de traitement
goto :end
)

| Je sais, je pourrais tester, mais pour l'instant, c'est plutôt
| difficile.

Voilà ! Testé pour vous ;-)

Question :

D'après vous, si le périphérique amovible est logiciellement éjecté,
est-ce que celui-ci est toujours alimenté ? Si NON, le top serait de
faire du flip/flop ! C'est à dire connecter logiciellement "à la
demande" le périphérique pour faire des sauvegardes / synchro puis
l'éjecter en fin de processus ... Certains clients semblent d'ores et
déjà interressés par cette solution ... (J'ai évoqué ce sujet "à table"
lors de mon déplacement de ce jour ...)

XX.mcXX@xmxclaveauxx.xx.com Michel Claveau

unread,
Apr 19, 2007, 3:14:33 PM4/19/07
to
Bonsoir !

Commençons par la fin...

> D'après vous, si le périphérique amovible est logiciellement éjecté,
> est-ce que celui-ci est toujours alimenté ?

Je pense qu'il est toujours alimenté, car avec certains disques
externes alimentés par USB (1,8") même après éjection logicielle, ils
sont toujours allumés, et certains continuent de tourner...


> s'assurer qu'aucun fichier n'est ouvert

> j'ai trouvé "unmount"

Moi, j'utilise ce "FLUSHer", pour vider les caches.
http://www.microsoft.com/technet/sysinternals/FileAndDisk/Sync.mspx

Je pense que l'ensemble problème/solution est plus large.
D'abord, il y a un paramètre par périphérique. AInsi ma clef USB
Corsair Voyager ne nécessite jamais de démontage, ou de demande de
retrait. Elle est expressément prévue pour pouvoir être retirée dès les
opérations visibles d'écriture terminées.
Mais, j'ai d'autres clefs qui ont un comportement différent.
Et, comme, dans les deux cas, l'installation est automatique, je me
demande comment est affecté le paramètre (d'écriture décalée).

De plus, j'ai aussi un problème plus délicat : avec certains disques
USB externes, lors de copie importante de données (quelques dizaines de
Go), après la fin de la copie, alors même qu'il n'y a plus de fichiers
ouverts, il m'arrive que windows refuse le retrait du périphérique.
J'ai notamment un cas où il faut attendre près de 20 minutes pour que
windows accepte le retrait.
Il faudra que j'essaie Sync sur ce cas (je dois y passer dans une
semaine).

--
@-salutations

Michel Claveau


Gilles LAURENT

unread,
Apr 20, 2007, 11:48:49 AM4/20/07
to
"Gilles LAURENT" <gl...@free.fr> a écrit dans le message de
news:%23p54rFQ...@TK2MSFTNGP02.phx.gbl
|| J'ai une autre question est-il possible de lister les réseaux sans
|| fil disponible en invite de commande sous XP ou W2k3 !
|
| Tiens ! Il ne m'était jamais venu à l'idée d'explorer cette
| possibilité ! Je vais essayer de trouver des pistes et vous fait un
| retour au plus tôt.

Donc, plusieurs possibilités :

1- WMI
/root/wmi/MSNDis_80211_BSSIList

2- NDIS avec l'API Win32 DeviceIoControl
IOCTL_NDISUIO_QUERY_OID_VALUE
OID_802_11_BSSID_LIST

3- API Wifi natives (XP SP2 + Addon / Vista / Longhorn)
WlanGetAvailableNetworkList
http://msdn2.microsoft.com/en-us/library/ms706556.aspx

=> Addon nécessaire pour XP SP2
http://support.microsoft.com/?kbid=918997

4- Sous Vista avec l'outil netsh
\> netsh wlan show networks mode=ssid

0 new messages