iis-ts
v1.0.2
Published
Gerenciador IIS via appcmd.exe
Downloads
189
Maintainers
Readme
📦 IIS-TS
Gerenciador do IIS (Internet Information Services) via appcmd.exe, utilizando Node.js + TypeScript.
Ideal para automação, deploys, integração contínua, scripts administrativos e ferramentas internas.
🚀 Instalação
npm install iis-tsRequer:
Windows
IIS instalado
appcmd.exepresente em:C:\Windows\System32\inetsrv\appcmd.exeC:\Windows\SysWOW64\inetsrv\appcmd.exe
📘 Como usar
Importação
import { IIS } from "iis-ts";
const iis = new IIS();Ou com caminho customizado:
const iis = new IIS("C:\\meu\\caminho\\para\\appcmd.exe");🔍 Listar Sites
const sites = await iis.listSites();
console.log(sites);O retorno tem esse formato:
[
{
name: "Default Web Site",
id: "1",
bindings: {
protocol: "HTTP",
port: "80"
},
state: "Started",
physicalPath: "C:\\inetpub\\wwwroot",
pool: "DefaultAppPool"
}
]🟦 Parar e Iniciar Application Pools
Parar Pool
await iis.stopPool("DefaultAppPool");Iniciar Pool
await iis.startPool("DefaultAppPool");🌐 Parar e Iniciar Sites
Parar Site
await iis.stopSite("Default Web Site");Iniciar Site
await iis.startSite("Default Web Site");⚠️ Exceções
O pacote possui exceções customizadas para facilitar debugging:
AppCmdExceptionRequiredParamExceptionExecCommandErrorExceptionXMLParserExceptionErrorReadSitesException
Exemplo de captura:
try {
await iis.stopSite("MeuSite");
} catch (err) {
console.error("Erro:", err.message);
}📙 Tipos incluídos
O pacote acompanha tipos completos:
import type { ExecCommandOutput, ListSitesOutput } from "iis-ts";🧪 Exemplo completo
import { IIS } from "iis-ts";
async function main() {
const iis = new IIS();
const sites = await iis.listSites();
console.log("Sites disponíveis:", sites);
await iis.stopPool("DefaultAppPool");
console.log("Pool parado.");
await iis.startPool("DefaultAppPool");
console.log("Pool iniciado.");
await iis.stopSite("Default Web Site");
console.log("Site parado.");
await iis.startSite("Default Web Site");
console.log("Site iniciado.");
}
main();