Ho trovato questo script, magari potrà essere utile anche a quelli che si danno subito per vinti!
codice:
<%
Option Explicit
Response.Expires=0
' Variabili che conterranno le informazioni necessarie
Dim strSottomissione, strPercorsoStampante, strTesto
Dim strUsername, strPassword
Dim ciclo, IntMaxConn
' Nomi degli oggetti utilizzati per le varie connessioni
Dim objFileSystem, objWSHNet, objStampante
' Caricamento della variabile di verifica sottomissione form
strSottomissione = Request.Form("Sottomissione")
%>
<html>
<head>
<title>Stampa via browser su stampante di rete</title>
</head>
<body text="black">
<h1>Stampa via browser su stampante di rete</h1>
<hr>
<%
' Verifica se è stato premuto o meno il pulsante di submit
' sul form
If strSottomissione = "" Then
%>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST">
<table wdith=90% border="0">
<tr>
<td >Stampante selezionata:</td>
<td><select name="PercorsoStampante">
<%
'Imposta la connessione all'oggetto WScript.Network
Set objWSHNet = CreateObject("WScript.Network")
'Conteggio delle stampanti disponibili
Set objStampante = objWSHNet.EnumPrinterConnections
IntMaxConn=objStampante.Count
if IntMaxConn>0 then
for ciclo=0 to IntMaxConn
response.write "<option>" & objStampante.Item(ciclo)
next
end if
%>
</select></td>
</tr>
<tr>
<td>User-ID:</td>
<td><input type="text" name="username" value="<%=strUsername%>"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>Testo:</td>
<td><textarea rows="4" cols="30" name="Testo"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Stampa!" name="Sottomissione"></td>
</tr>
</table>
</form>
<%
Else
' E' stata effettuata una richiesta e verrà eseguita
strPercorsoStampante = Request.Form("PercorsoStampante")
strUsername = Request.Form("username")
strPassword = Request.Form("password")
strTesto = Request.Form("Testo")
' Creiamo gli oggetti necessari per il funzionamento dello script
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objWSHNet = CreateObject("WScript.Network")
' Connessione alla stampante di rete utilizzando Windows Scripting Host
objWSHNet.AddPrinterConnection "LPT1", strPercorsoStampante, False, strUsername, strPassword
' Apriamo la stampante come se si trattasse di un puro e semplice file.
Set objStampante = objFileSystem.CreateTextFile("LPT1:", True)
' Mandiamo il testo da stampare come se si trattasse di una semplice
' scrittura su file.
objStampante.Write(strTesto)
' Chiudiamo la connessione ed in caso di errore facciamo passare
' lo script alla successiva istruzione.
On Error Resume Next
objStampante.Close
' Nel caso qualcosa non sia andato per il verso giusto, facciamolo
' sapere al nostro utente
If Err Then
Response.Write ("Errore # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear
Else
' Operazione riuscita con successo.
Response.Write("E' stato stampato il seguente testo:")
Response.Write("<pre>" & strTesto & "</pre>")
Response.Write("Percorso della stampante di rete:")
Response.Write( strPercorsoStampante & "")
Response.Write("Login ID:")
Response.Write( strUsername & "")
End If
' Rimuoviamo la connessione
objWSHNet.RemovePrinterConnection "LPT1:"
' Scarichiamo gli oggetti usati dalla memoria
Set objWSHNet = Nothing
Set objFileSystem = Nothing
Set objStampante = Nothing
End If
%>
</body>
</html>