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

Erreur VBSCRIPT 800A0005 Argument ou appel de procédure incorrect

3 réponses
Avatar
Marc Rousseau
J'exécute un script tout simple pour connecter une imprimante:

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\serveur\imp"

Sur XP, ça va tout seul. Sur Win98SE, cela provoque l'erreur ci-dessus.

J'ai installé le dernier download pour Wscirpt/WSH/... pour Win98 et al. que
j'ai téléchargé ce jour sur le site de microsoft.

Que dois-je faire pour résoudre/contourner ce problème.

Merci d'avance

Marc, Toulouse

3 réponses

Avatar
Jean Yves SÉVENO
Salut.

Voici ce que dit l'aide de windows script :

AddWindowsPrinterConnection, méthode

Ajoute une connexion imprimante basée sur Windows à votre système
informatique.

Windows NT/2000 :
object.AddWindowsPrinterConnection(
strPrinterPath
)
Windows 9x/Me :
object.AddWindowsPrinterConnection(
strPrinterPath,
strDriverName[,strPort]
)
Arguments
object
Objet WshNetwork.
strPrinterPath
Valeur de chaîne indiquant le chemin vers la connexion imprimante.
strDriverName
Valeur de chaîne indiquant le nom du pilote (ignoré dans le cas d'une
utilisation avec Windows NT/Windows 2000).
strPort
Facultatif. Valeur de chaîne spécifiant un port imprimante pour la connexion
imprimante (ignorée sur Windows NT/Windows 2000).
Notes
L'utilisation de cette méthode est semblable à celle de l'option Imprimante
dans le Panneau de configuration pour ajouter une connexion imprimante.
Contrairement à la méthode AddPrinterConnection, celle-ci vous permet de
créer une connexion imprimante sans la diriger vers un port imprimante
particulier comme LPT1. Si la connexion échoue, un message d'erreur
s'affiche. Sous Windows 9x/Me, le pilote d'imprimante doit déjà être
installé sur la machine pour que la méthode AddWindowsPrinterConnection
fonctionne. Si le pilote n'est pas installé, Windows renvoie un message
d'erreur.

Exemple 1
Le code suivant utilise la méthode AddWindowsPrinterConnection pour
connecter une imprimante en réseau à un système informatique Windows
NT/2000.

[VBScript]
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "printservDefaultPrinter"
WshNetwork.AddWindowsPrinterConnection PrinterPath
[JScript]
var WshNetwork = WScript.CreateObject("WScript.Network");
var PrinterPath = "\printservDefaultPrinter";
WshNetwork.AddWindowsPrinterConnection(PrinterPath);

Exemple 2
Le code suivant utilise la méthode AddWindowsPrinterConnection pour
connecter une imprimante en réseau à un système Windows 9x/Me.

[VBScript]
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "printservDefaultPrinter"
PrinterDriver = "Lexmark Optra S 1650"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
[JScript]
var WshNetwork = WScript.CreateObject("WScript.Network");
var PrinterPath = "\printservDefaultPrinter";
var PrinterDriver = "Lexmark Optra S 1650";
WshNetwork.AddWindowsPrinterConnection(PrinterPath, PrinterDriver);

Sinon, tu peux aussi utiliser la méthode AddPrinterConnection.

Cordialement.

Jean Yves


"Marc Rousseau" a écrit dans le message de
news:
J'exécute un script tout simple pour connecter une imprimante:

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "serveurimp"

Sur XP, ça va tout seul. Sur Win98SE, cela provoque l'erreur ci-dessus.

J'ai installé le dernier download pour Wscirpt/WSH/... pour Win98 et al.


que
j'ai téléchargé ce jour sur le site de microsoft.

Que dois-je faire pour résoudre/contourner ce problème.

Merci d'avance

Marc, Toulouse




Avatar
Marc Rousseau
Bonjour,

Merci beaucoup pour cette information. En fait, j'aimerais savoir où elle
est disponible !

J'avais effectivement omis le paramètre du nom du driver. J'ai corrigé et
j'ai l'effet suivant:

1. Je n'ai aucune imprimante d'installée et celle que je veux connecter n'a
pas son driver inclus dans Win98. Donc résultat logique: Pilote d'imprimante
inconnu.
2. Je connecte manuellement une imprimante identique, mais ailleurs dans le
réseau (autre serveur). Je recopie exactement le nom du pilote dans le
script qui devient:
Set Net = WScript.CreateObject( "WScript.Network" )
printerpath = "\papaimwr"
printerdrv = "NRG P7126N PCL 6"
Net.AddWindowsPrinterConnection printerpath,printerdrv
Résultat: Erreur 8007070A: L'imprimante existe déjà.
Effectivement, l'imprimante ajoutée manuellement porte le nom par défaut celui du driver.
3. Je renomme l'imprimante ajoutée manuellement pour que le nom ne soit plus
celui par défaut (en l'occurence j'enlève PCL 6 à la fin. Et je relance le
script.
Résultat: Erreur 80070704: Le port spécifié est inconnu.
4. Je rajoute un paramètre PORT à mon script (alors qu'il est en principe
optionnel). Après beaucoup de tatonnements, je m'aperçois qu'il faut coder
le port sous la forme serveurimprimante pour que cela fonctionne.

5. Je retire les 2 imprimantes installées (celle créée par le script et
celle installée manuellement), mais en refusant de désinstaller le driver.
Je vérifie que je peux faire 'Ajout d'imprimante locale' et retrouver le
driver dans la liste présentée, donc il est bien présent. Mais l'exécution
du script de l'étape 4 affiche de nouveau l'erreur 'Pilote d'imprimante
inconnu'. Est-il mal spécifié ? probablement pas puisque le script
fonctionne si une imprimante avec le meme driver est installée (y compris si
celle-ci est installée sur FILE en local à partir du driver resté dans le
système).

Au résultat: Mon effort est destiné à configurer les imprimantes des 130
postes élèves dans les salles de classe du lycée dont je suis responsable.
Il faudrait que ces postes n'aient qu'une imprimante, la bonne et que
celle-ci soit ajoutée au logon. Tous les postes sont répliqués à partir
d'images Ghost. Donc il me faut trouver la solution sur 1 poste.

Merci de vos idées




"Jean Yves SÉVENO" a écrit dans le message de
news: 3fb48acd$0$2800$
Salut.

Voici ce que dit l'aide de windows script :

AddWindowsPrinterConnection, méthode

Ajoute une connexion imprimante basée sur Windows à votre système
informatique.

Windows NT/2000 :
object.AddWindowsPrinterConnection(
strPrinterPath
)
Windows 9x/Me :
object.AddWindowsPrinterConnection(
strPrinterPath,
strDriverName[,strPort]
)
Arguments
object
Objet WshNetwork.
strPrinterPath
Valeur de chaîne indiquant le chemin vers la connexion imprimante.
strDriverName
Valeur de chaîne indiquant le nom du pilote (ignoré dans le cas d'une
utilisation avec Windows NT/Windows 2000).
strPort
Facultatif. Valeur de chaîne spécifiant un port imprimante pour la


connexion
imprimante (ignorée sur Windows NT/Windows 2000).
Notes
L'utilisation de cette méthode est semblable à celle de l'option


Imprimante
dans le Panneau de configuration pour ajouter une connexion imprimante.
Contrairement à la méthode AddPrinterConnection, celle-ci vous permet de
créer une connexion imprimante sans la diriger vers un port imprimante
particulier comme LPT1. Si la connexion échoue, un message d'erreur
s'affiche. Sous Windows 9x/Me, le pilote d'imprimante doit déjà être
installé sur la machine pour que la méthode AddWindowsPrinterConnection
fonctionne. Si le pilote n'est pas installé, Windows renvoie un message
d'erreur.

Exemple 1
Le code suivant utilise la méthode AddWindowsPrinterConnection pour
connecter une imprimante en réseau à un système informatique Windows
NT/2000.

[VBScript]
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "printservDefaultPrinter"
WshNetwork.AddWindowsPrinterConnection PrinterPath
[JScript]
var WshNetwork = WScript.CreateObject("WScript.Network");
var PrinterPath = "\printservDefaultPrinter";
WshNetwork.AddWindowsPrinterConnection(PrinterPath);

Exemple 2
Le code suivant utilise la méthode AddWindowsPrinterConnection pour
connecter une imprimante en réseau à un système Windows 9x/Me.

[VBScript]
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "printservDefaultPrinter"
PrinterDriver = "Lexmark Optra S 1650"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
[JScript]
var WshNetwork = WScript.CreateObject("WScript.Network");
var PrinterPath = "\printservDefaultPrinter";
var PrinterDriver = "Lexmark Optra S 1650";
WshNetwork.AddWindowsPrinterConnection(PrinterPath, PrinterDriver);

Sinon, tu peux aussi utiliser la méthode AddPrinterConnection.

Cordialement.

Jean Yves


"Marc Rousseau" a écrit dans le message de
news:
> J'exécute un script tout simple pour connecter une imprimante:
>
> Set net = CreateObject("WScript.Network")
> net.AddWindowsPrinterConnection "serveurimp"
>
> Sur XP, ça va tout seul. Sur Win98SE, cela provoque l'erreur ci-dessus.
>
> J'ai installé le dernier download pour Wscirpt/WSH/... pour Win98 et al.
que
> j'ai téléchargé ce jour sur le site de microsoft.
>
> Que dois-je faire pour résoudre/contourner ce problème.
>
> Merci d'avance
>
> Marc, Toulouse
>
>




Avatar
Jean Yves SÉVENO
Re.

Pour l'aide de Windows script :

http://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/FR/scd56fr.exe

Pour le reste, je ne sais pas et je ne peux pas tester.

Mais, il me semble que, si tu suis l'aide et que ça ne fonctionne pas, c'est
que soit le pilote n'est pas installé correctement sur la machine qui
exécute le script, soit tu passes un nom de pilote erroné. Quant au
paramètre port qui est optionnel, je ne pense pas qu'il ait quelque chose à
voir avec ton problème et tu obtiendras probablement le même résultat sans
lui.

Autre chose : le contenu de ta variable printerpath (\papaimwr) ne
devrait, je pense, comporter que 2 . Mais c'est peut-être une erreur de
copie dans le mail.

Désolé de ne pas pouvoir t'aider plus que ça.

Cordialement.

Jean Yves


"Marc Rousseau" a écrit dans le message de
news:
Bonjour,

Merci beaucoup pour cette information. En fait, j'aimerais savoir où elle
est disponible !

J'avais effectivement omis le paramètre du nom du driver. J'ai corrigé et
j'ai l'effet suivant:

1. Je n'ai aucune imprimante d'installée et celle que je veux connecter


n'a
pas son driver inclus dans Win98. Donc résultat logique: Pilote


d'imprimante
inconnu.
2. Je connecte manuellement une imprimante identique, mais ailleurs dans


le
réseau (autre serveur). Je recopie exactement le nom du pilote dans le
script qui devient:
Set Net = WScript.CreateObject( "WScript.Network" )
printerpath = "\papaimwr"
printerdrv = "NRG P7126N PCL 6"
Net.AddWindowsPrinterConnection printerpath,printerdrv
Résultat: Erreur 8007070A: L'imprimante existe déjà.
Effectivement, l'imprimante ajoutée manuellement porte le nom par défaut > celui du driver.
3. Je renomme l'imprimante ajoutée manuellement pour que le nom ne soit


plus
celui par défaut (en l'occurence j'enlève PCL 6 à la fin. Et je relance le
script.
Résultat: Erreur 80070704: Le port spécifié est inconnu.
4. Je rajoute un paramètre PORT à mon script (alors qu'il est en principe
optionnel). Après beaucoup de tatonnements, je m'aperçois qu'il faut coder
le port sous la forme serveurimprimante pour que cela fonctionne.

5. Je retire les 2 imprimantes installées (celle créée par le script et
celle installée manuellement), mais en refusant de désinstaller le driver.
Je vérifie que je peux faire 'Ajout d'imprimante locale' et retrouver le
driver dans la liste présentée, donc il est bien présent. Mais


l'exécution
du script de l'étape 4 affiche de nouveau l'erreur 'Pilote d'imprimante
inconnu'. Est-il mal spécifié ? probablement pas puisque le script
fonctionne si une imprimante avec le meme driver est installée (y compris


si
celle-ci est installée sur FILE en local à partir du driver resté dans le
système).

Au résultat: Mon effort est destiné à configurer les imprimantes des 130
postes élèves dans les salles de classe du lycée dont je suis responsable.
Il faudrait que ces postes n'aient qu'une imprimante, la bonne et que
celle-ci soit ajoutée au logon. Tous les postes sont répliqués à partir
d'images Ghost. Donc il me faut trouver la solution sur 1 poste.

Merci de vos idées




"Jean Yves SÉVENO" a écrit dans le message de
news: 3fb48acd$0$2800$
> Salut.
>
> Voici ce que dit l'aide de windows script :
>
> AddWindowsPrinterConnection, méthode
>
> Ajoute une connexion imprimante basée sur Windows à votre système
> informatique.
>
> Windows NT/2000 :
> object.AddWindowsPrinterConnection(
> strPrinterPath
> )
> Windows 9x/Me :
> object.AddWindowsPrinterConnection(
> strPrinterPath,
> strDriverName[,strPort]
> )
> Arguments
> object
> Objet WshNetwork.
> strPrinterPath
> Valeur de chaîne indiquant le chemin vers la connexion imprimante.
> strDriverName
> Valeur de chaîne indiquant le nom du pilote (ignoré dans le cas d'une
> utilisation avec Windows NT/Windows 2000).
> strPort
> Facultatif. Valeur de chaîne spécifiant un port imprimante pour la
connexion
> imprimante (ignorée sur Windows NT/Windows 2000).
> Notes
> L'utilisation de cette méthode est semblable à celle de l'option
Imprimante
> dans le Panneau de configuration pour ajouter une connexion imprimante.
> Contrairement à la méthode AddPrinterConnection, celle-ci vous permet de
> créer une connexion imprimante sans la diriger vers un port imprimante
> particulier comme LPT1. Si la connexion échoue, un message d'erreur
> s'affiche. Sous Windows 9x/Me, le pilote d'imprimante doit déjà être
> installé sur la machine pour que la méthode AddWindowsPrinterConnection
> fonctionne. Si le pilote n'est pas installé, Windows renvoie un message
> d'erreur.
>
> Exemple 1
> Le code suivant utilise la méthode AddWindowsPrinterConnection pour
> connecter une imprimante en réseau à un système informatique Windows
> NT/2000.
>
> [VBScript]
> Set WshNetwork = WScript.CreateObject("WScript.Network")
> PrinterPath = "printservDefaultPrinter"
> WshNetwork.AddWindowsPrinterConnection PrinterPath
> [JScript]
> var WshNetwork = WScript.CreateObject("WScript.Network");
> var PrinterPath = "\printservDefaultPrinter";
> WshNetwork.AddWindowsPrinterConnection(PrinterPath);
>
> Exemple 2
> Le code suivant utilise la méthode AddWindowsPrinterConnection pour
> connecter une imprimante en réseau à un système Windows 9x/Me.
>
> [VBScript]
> Set WshNetwork = WScript.CreateObject("WScript.Network")
> PrinterPath = "printservDefaultPrinter"
> PrinterDriver = "Lexmark Optra S 1650"
> WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
> [JScript]
> var WshNetwork = WScript.CreateObject("WScript.Network");
> var PrinterPath = "\printservDefaultPrinter";
> var PrinterDriver = "Lexmark Optra S 1650";
> WshNetwork.AddWindowsPrinterConnection(PrinterPath, PrinterDriver);
>
> Sinon, tu peux aussi utiliser la méthode AddPrinterConnection.
>
> Cordialement.
>
> Jean Yves
>
>
> "Marc Rousseau" a écrit dans le message de
> news:
> > J'exécute un script tout simple pour connecter une imprimante:
> >
> > Set net = CreateObject("WScript.Network")
> > net.AddWindowsPrinterConnection "serveurimp"
> >
> > Sur XP, ça va tout seul. Sur Win98SE, cela provoque l'erreur


ci-dessus.
> >
> > J'ai installé le dernier download pour Wscirpt/WSH/... pour Win98 et


al.
> que
> > j'ai téléchargé ce jour sur le site de microsoft.
> >
> > Que dois-je faire pour résoudre/contourner ce problème.
> >
> > Merci d'avance
> >
> > Marc, Toulouse
> >
> >
>
>