Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Usb et Wifi

6 réponses
Avatar
Pat
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 !

6 réponses

Avatar
Michel Claveau
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
Avatar
Gilles LAURENT
"Pat" a écrit dans le message de
news:
| 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
Avatar
Michel Claveau
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
Avatar
Gilles LAURENT
"Michel Claveau" <Enleverles a écrit dans
le message de news:
| 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 ...)

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Michel Claveau
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

Avatar
Gilles LAURENT
"Gilles LAURENT" a écrit dans le message de
news:%
| "Pat" a écrit dans le message de
| news:
|| 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‘8997

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

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