Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Другие серверные продукты » Разное - Сервер печати Windows 2008 - вебсервер принтеров

Ответить
Настройки темы
Разное - Сервер печати Windows 2008 - вебсервер принтеров

Забанен


Сообщения: 63
Благодарности: 0

Профиль | Сайт | Цитировать


Доброго времени суток!

Хотелось бы по-удобней сделать вебсервак стандартный управления принтерами

На странице принтеров http://print-server/printers/ по умолчанию сортировка принтеров по дате добавления, для удобства необходимо сделать сортировку по примечанию.

Файлы веб-сервера находятся C:\Windows\Web\Printers

Как и какой файл необходимо отредактировать!?

Я так понял необходимо отредактировать файл ipp_0001.asp:

<%@ CODEPAGE=65001 %>
<%
'------------------------------------------------------------
'
' Microsoft Internet Printing Project
'
' Copyright (c) Microsoft Corporation. All rights reserved.
'
' Entry page for queue view.
'
'------------------------------------------------------------
option explicit
%>
<!-- #include file = "ipp_util.inc" -->

<%

Randomize
Response.Expires = 0
Server.ScriptTimeOut = 6000 'Set time out to 10 minites

Const ADSI_PRINTER_NAME = 1
Const ADSI_PRINTER_LOCATION = 2
Const ADSI_PRINTER_COMMENT = 3
Const ADSI_PRINTER_MODEL = 4
Const ADSI_PRINTER_STATUS = 5
Const ADSI_PRINTER_JOBS = 6
Const ADSI_PRINTER_SHARE = 7
Const ADSI_PRINTER_ACCESS = 8
Const ADSI_PRINTER_ATTRIBUTES = 8

Const PRINTER_ACCESS_DENIED = 0
Const PRINTER_OPENING = 1
Const PRINTER_OK = 2


Const iPrinterLength = 100

Function rgADSIGetPrinters(strComputer, iStart, iEnd)

On Error Resume Next
Err.Clear

Dim objPrinter, objPrinters, iPrinters, dwStatus, rgPrinters()
Dim objHelper, strServerName, i
Dim iTotal, iRevStart, iRevEnd

Set objHelper = Server.CreateObject(PROGID_HELPER)

If strComputer = "localhost" Or strComputer = "127.0.0.1" or Not CBool(objHelper.IsCluster) Then
strComputer = objHelper.ComputerName
End If
If Err Then Exit Function

Set objPrinters = GetObject("WinNT://" & strComputer & ",computer")
If Err Then Exit Function
strServerName = objPrinters.Name
objPrinters.filter = Array("PrintQueue")
If Err Then Exit Function

' iterate through all the (shared) printers
iTotal = 0
For Each objPrinter In objPrinters
iTotal = iTotal + 1
Next
iRevStart = iTotal - iEnd + 1
iRevEnd = iTotal - iStart + 1

If iEnd <= iTotal Then bShowNext = TRUE

iPrinters = 0
i = 1
For Each objPrinter In objPrinters

If i > iRevEnd Then Exit For

If i > iRevStart Then
iPrinters = iPrinters + 1

ReDim Preserve rgPrinters(ADSI_PRINTER_ATTRIBUTES, iPrinters)
rgPrinters(ADSI_PRINTER_STATUS, iPrinters) = objPrinter.Status
If Err.Number = &H80070005 Then 'Access Denied
Err.Clear
rgPrinters(ADSI_PRINTER_NAME, iPrinters) = objPrinter.Name
rgPrinters(ADSI_PRINTER_ACCESS, iPrinters) = PRINTER_ACCESS_DENIED
rgPrinters(ADSI_PRINTER_LOCATION, iPrinters) = ""
rgPrinters(ADSI_PRINTER_MODEL, iPrinters) = ""
rgPrinters(ADSI_PRINTER_COMMENT, iPrinters) = "<a href=""ipp_0001.asp?v=1&startid=" &_
CStr (iStart) & "&endid=" & CStr (iEnd) & """>" & OleCvt.ASPString(IDS_ASP_ACCESSDENIED) & "</a>"

rgPrinters(ADSI_PRINTER_JOBS, iPrinters) = 0
Else
If Err.Number <> 0 Then
Err.Clear
rgPrinters(ADSI_PRINTER_NAME, iPrinters) = objPrinter.Name
rgPrinters(ADSI_PRINTER_ACCESS, iPrinters) = PRINTER_OPENING
rgPrinters(ADSI_PRINTER_LOCATION, iPrinters) = ""
rgPrinters(ADSI_PRINTER_MODEL, iPrinters) = ""
rgPrinters(ADSI_PRINTER_COMMENT, iPrinters) = OleCvt.ASPString(IDS_ASP_OPENING)
rgPrinters(ADSI_PRINTER_JOBS, iPrinters) = 0
Else
dwStatus = objPrinter.Status
If objPrinter.Attributes And &H400 Then dwStatus = dwStatus Or &H80

rgPrinters(ADSI_PRINTER_NAME, iPrinters) = GetFriendlyName (objPrinter.PrinterName, strServerName)
rgPrinters(ADSI_PRINTER_STATUS, iPrinters) = dwStatus
rgPrinters(ADSI_PRINTER_LOCATION, iPrinters) = strCleanString (objPrinter.Location)
rgPrinters(ADSI_PRINTER_MODEL, iPrinters) = strCleanString (objPrinter.Model)
rgPrinters(ADSI_PRINTER_COMMENT, iPrinters) = strCleanString (objPrinter.Description)
rgPrinters(ADSI_PRINTER_JOBS, iPrinters) = objPrinter.JobCount
If Err Then Exit Function

rgPrinters(ADSI_PRINTER_ACCESS, iPrinters) = PRINTER_OK
End If
End If
End If

i = i + 1
Next

if iPrinters = 0 Then ReDim rgPrinters(ADSI_PRINTER_SHARE, 0)
rgADSIGetPrinters = rgPrinters
End Function

Dim strLocal, rgPrinters, strTitle
Dim iStart, iEnd, bShowNext

'Verify User Name
If Request("v") = "1" And Session ("PASSWD_TYPED") = FALSE Then
Session ("PASSWD_TYPED") = TRUE
Err.Number = &H80070005
Call ErrorHandler(strADSI)
End If

Session ("PASSWD_TYPED") = FALSE

strLocal = request.ServerVariables("SERVER_NAME")

strTitle = OleCvt.ASPString1(IDS_ASP_ALL_PRINTERS, strLocal)

If Request("startid") = "" Or Request ("endid") = "" Then
iStart = 1
iEnd = iStart+ iPrinterLength
Else
iStart = Int (Request ("startid"))
iEnd = Int (Request ("endid"))
If (iEnd <= iStart) Then
iEnd = iStart + iPrinterLength
End If
End If

bShowNext = FALSE

rgPrinters = rgADSIGetPrinters(strLocal, iStart, iEnd)
If Err.Number <> 0 Then
Dim strADSI

strADSI = OleCvt.ASPString(IDS_ASP_GETADSI)

Call ErrorHandler(strADSI)
End If
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang=<%=L_Language%>>
<head>
<Meta Http-equiv="Content-Type" Content="text/html; CHARSET=UTF-8">
<meta http-equiv="refresh" content="120">
<title><% =Write(strTitle) %></title>
</head>

<%
Dim strPrinterName
strPrinterName = "<H2>" & strTitle & "</H2>"


Function GenTableHead ()
Dim L_TableTitle_Text(5)
Dim strTableTitle(5) 'The reason we have to do this is that when we manipulate the string ,
'it is not localizable. This works around this problem
Dim i
Dim strHTML
Dim Width
'Width = Array (200, 80, 200, 37, 194, 194)
Const strSp = "&nbsp;&nbsp;"

L_TableTitle_Text(0) = OleCvt.ASPString(IDS_ASP_NAME)
L_TableTitle_Text(1) = OleCvt.ASPString(IDS_ASP_STATUS)
L_TableTitle_Text(2) = OleCvt.ASPString(IDS_ASP_LOCATION)
L_TableTitle_Text(3) = OleCvt.ASPString(IDS_ASP_JOBS)
L_TableTitle_Text(4) = OleCvt.ASPString(IDS_ASP_MODEL)
L_TableTitle_Text(5) = OleCvt.ASPString(IDS_ASP_COMMENT)

For i = 0 to 5
strTableTitle(i) = L_TableTitle_Text(i) & strSp
Next

strHTML = "<tr>"

For i = 0 to 5
strHTML = strHTML & "<td bgcolor=#000000 nowrap>" & MENU_FONT_TAG & "<b>" &_
strTableTitle(i) & "</b>" & END_FONT & "</td>"
Next
strHTML = strHTML & "</tr>"

GenTableHead = strHTML
End Function

Function GenTableBody ()
Dim i
Dim strHTML

Dim TdStart, TdEnd
TdStart = "<td nowrap>" & DEF_FONT_TAG
TdEnd = END_FONT & "</td>"


strHTML = ""
For i = ubound(rgPrinters, 2) To 1 Step -1
'For i = 1 To ubound(rgPrinters, 2)
strHTML = strHTML & "<tr>"

Select Case rgPrinters(ADSI_PRINTER_ACCESS, i)
Case PRINTER_OPENING
strHTML = strHTML & TdStart & "<a href=""ipp_0001.asp" &_
""" target=""_top"">" & strCleanString(rgPrinters(ADSI_PRINTER_NAME, i)) & "</a>" & TdEnd
Case PRINTER_ACCESS_DENIED
strHTML = strHTML & TdStart & strCleanString(rgPrinters(ADSI_PRINTER_NAME, i)) & TdEnd
Case Else
strHTML = strHTML & TdStart & "<a href=""ipp_0004.asp?view=q&eprinter=" &_
OleCvt.EncodeUnicodeName(rgPrinters(ADSI_PRINTER_NAME, i)) &_
ATPAGE & CStr(Int(Rnd*10000)) &_
""" target=""_top"">" & strCleanString(rgPrinters(ADSI_PRINTER_NAME, i)) & "</a>" & TdEnd
End Select

If rgPrinters(ADSI_PRINTER_ACCESS, i) = PRINTER_OK Then
strHTML = strHTML &_
TdStart & strPrinterStatus (rgPrinters(ADSI_PRINTER_STATUS, i)) & TdEnd &_
TdStart & rgPrinters(ADSI_PRINTER_LOCATION, i) & TdEnd &_
TdStart & rgPrinters(ADSI_PRINTER_JOBS, i ) & TdEnd &_
TdStart & rgPrinters(ADSI_PRINTER_MODEL, i) & TdEnd &_
TdStart & rgPrinters(ADSI_PRINTER_COMMENT, i) & TdEnd
Else
strHTML = strHTML &_
"<td>" & DEF_FONT_TAG & "<font color=""#7F7F7F"">" & rgPrinters(ADSI_PRINTER_COMMENT, i) & "</font>" & END_FONT & "</td>" &_
"<td>&nbsp;</td>" &_
"<td>&nbsp;</td>" &_
"<td>&nbsp;</td>" &_
"<td>&nbsp;</td>"
End If
strHTML = strHTML & "</tr>"
Next

GenTableBody = strHTML
End Function
%>



<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#808080" alink="#000000"
topmargin="0" leftmargin="0">

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="175">
<tr>
<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="1">
<tr>
<td width="12%"><img src="images/ipp_0002.gif" alt="printers.gif"></td>
<td width="88%"><%=Write(CLIENT_FONT & strPrinterName & END_FONT)%></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="11"></td>
</tr>
<tr>
<td height="55"><table width=100% border="0" cellspacing="0" cellpadding="2">
<%=Write (GenTableHead)%>
<%=Write (GenTableBody)%>
</table>
</td>
</tr>
</table>

<p>

<%
Dim strUrl

strUrl = "<a target=_top href=ipp_0001.asp?startid=" & CStr(iStart - iPrinterLength) & "&endid=" & CStr(iEnd - iPrinterLength) & ">" & OleCvt.ASPString1(IDS_ASP_PREV_PRINTERS, CStr(iPrinterLength)) & "</a>&nbsp;&nbsp;&nbsp;&nbsp;"

If iStart > 1 Then
Response.Write ( Write(DEF_FONT_TAG & strUrl & END_FONT))
End If

strUrl = "<a target=_top href=ipp_0001.asp?startid=" & CStr(iStart + iPrinterLength) & "&endid=" & CStr(iEnd+iPrinterLength) & ">" & OleCvt.ASPString1(IDS_ASP_NEXT_PRINTERS, CStr(iPrinterLength)) & "</a>"

If bShowNext Then
Response.Write ( Write(DEF_FONT_TAG & strUrl & END_FONT))
End If

%>
</body>
</html>

Отправлено: 10:25, 18-07-2014

 


Компьютерный форум OSzone.net » Серверные продукты Microsoft » Другие серверные продукты » Разное - Сервер печати Windows 2008 - вебсервер принтеров

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Windows Server 2003 -> Сервер печати it3 Другие серверные продукты 2 11-07-2014 09:15
2008 R2 - Товарищи, коллеги, help, проблема печати принтеров по RDP evro.root Windows Server 2008/2008 R2 4 21-10-2013 18:14
2008 R2 - Терминальный сервер 2008 проблемы при печати barich Windows Server 2008/2008 R2 0 26-12-2012 10:48
2008 R2 - Windows 2008 R2 - автоматическое подключение принтеров __sa__nya Windows Server 2008/2008 R2 2 24-10-2012 11:59
2008 R2 - сервер печати на 2008 сервере edikst Windows Server 2008/2008 R2 2 02-07-2010 12:49




 
Переход