<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.br.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>24 Sep 2025 13:38:12 Z</lastBuildDate><pubDate>22 Sep 2025 06:49:16 Z</pubDate><description>Usa POWERSHELL como administrador &#13;
&#13;
[code:wl]&#13;
###########################################################&#13;
#SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis) &#13;
&#13;
Boa! Peguei os pontos dos tópicos do fórum que você enviou (checklist de usuário LOCAL e grupos, permissões nas pastas do IIS/PC SOFT, handlers .awp/.awws/.wb, correção do “Virtual Directory”, e a exigência do DISM funcionar) e empacotei num script PowerShell completo, idempotente e com “guard rails”. Ele instala e configura o IIS para o W.A.S., cria usuário local dedicado (opcional), aplica permissões, registra handlers/ISAPI do WDxxAWP.exe, cria app pool com identidade específica, cria aplicação virtual, testa a URL e roda um diagnóstico detalhado — com switches para habilitar passos “arriscados” apenas quando você quiser.&#13;
&#13;
Referências de onde veio cada exigência/prova de campo: checklist/diagnóstico e correção de “Virtual Directory” e handlers (.awp/.awws/.wb)  ￼; necessidade do DISM operacional para o W.A.S. em alguns ambientes  ￼; tópico base “WAS - Webdev Aplicativo Server” (coletânea) com boas práticas gerais de instalação e IIS “tudo verde”  ￼.&#13;
&#13;
⸻&#13;
&#13;
Script (salve como Setup-WAS-IIS.ps1 e execute em PowerShell administrador)&#13;
&#13;
#requires -RunAsAdministrator&#13;
&lt;#&#13;
.SYNOPSIS&#13;
Configuração COMPLETA do IIS + W.A.S. (WebDev Application Server) com diagnósticos.&#13;
.DESCRIPTION&#13;
- Instala recursos do IIS necessários ao WebDev/WAS&#13;
- (Opcional) Cria usuário LOCAL dedicado e o coloca nos grupos Administrators e IIS_IUSRS&#13;
- Configura Application Pool, ISAPI/Handlers (.awp/.awws/.wb), permissões NTFS&#13;
- (Opcional) Faz correções para DISM funcionar quando exigido pelo WAS&#13;
- Cria Aplicação Virtual e testa URL&#13;
- Executa diagnóstico abrangente com resumo em % de prontidão&#13;
&#13;
Baseado em experiências reais e tópicos do fórum PC SOFT (checklist, erros de Virtual Directory, handlers e DISM).&#13;
Autor: Adriano José Boller – PC SOFT Brasil | Versão 3.0&#13;
#&gt;&#13;
&#13;
param(&#13;
  [Parameter(Mandatory=$false)]&#13;
  [ValidatePattern('^\d{4}$')]&#13;
  [string]$WebdevVersion = "2025",&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [string]$ProjectName = "",&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [string]$SiteName = "Default Web Site",&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [string]$LocalUser = "WebdevAdmin",&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [SecureString]$LocalUserPassword,&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [string]$InstallPathC = "C:\PC SOFT\WINDEV {0}" -f "2025",&#13;
&#13;
  [Parameter(Mandatory=$false)]&#13;
  [string]$InstallPathD = "D:\PC SOFT\WINDEV {0}" -f "2025",&#13;
&#13;
  # Opções de execução&#13;
  [switch]$CreateLocalUser,&#13;
  [switch]$ConfigureIIS,&#13;
  [switch]$ConfigureWAS,&#13;
  [switch]$CreateVirtualApp,&#13;
  [switch]$RunDiagnostics,          # roda diagnóstico ao final&#13;
  [switch]$FixDism,                 # tenta corrigir o acesso ao DISM (situações específicas)&#13;
  [switch]$OpenFirewall,            # abre portas 80/443 (e 21/990 se FTP for desejado)&#13;
  [switch]$CopyDllsToBin,           # copia DLLs do engine para a pasta do AWP/BIN (NÃO para System32)&#13;
  [switch]$Force                    # força recriação de artefatos&#13;
)&#13;
&#13;
# =========================&#13;
# Inicialização e utilitários&#13;
# =========================&#13;
$ErrorActionPreference = "Stop"&#13;
$VerbosePreference     = "Continue"&#13;
$global:StartedAt      = Get-Date&#13;
$LogDir                = "C:\Logs"&#13;
if (!(Test-Path $LogDir)) { New-Item -Path $LogDir -ItemType Directory -Force | Out-Null }&#13;
$LogPath               = Join-Path $LogDir ("WAS_IIS_{0}.log" -f (Get-Date -Format "yyyyMMdd_HHmmss"))&#13;
&#13;
function Write-Log([string]$msg, [ValidateSet("INFO","WARN","ERROR","OK","STEP")]$level="INFO"){&#13;
  $stamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"&#13;
  $line  = "[{0}] [{1}] {2}" -f $stamp, $level, $msg&#13;
  Write-Host $line&#13;
  Add-Content -Path $LogPath -Value $line&#13;
}&#13;
&#13;
function Confirm-Action([string]$question){&#13;
  $ans = Read-Host "$question (S/N)"&#13;
  return ($ans -match '^(s|S|y|Y)$')&#13;
}&#13;
&#13;
function Must-BeLocalAdmin {&#13;
  $id  = [Security.Principal.WindowsIdentity]::GetCurrent()&#13;
  $pri = New-Object Security.Principal.WindowsPrincipal($id)&#13;
  if (-not $pri.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {&#13;
    Write-Log "Execute como Administrador." "ERROR"; throw "Necessário administrador local."&#13;
  }&#13;
}&#13;
&#13;
function Ensure-NotADUser {&#13;
  $u = [Security.Principal.WindowsIdentity]::GetCurrent().Name&#13;
  # Heurística: DOMAIN\user indica AD diferente do computador local (prática do fórum)&#13;
  if ($u.Contains('\') -and -not $u.StartsWith($env:COMPUTERNAME+'\')) {&#13;
    Write-Log "Usuário do AD detectado ($u). Use usuário LOCAL administrativo." "ERROR"&#13;
    throw "Não execute com usuário do AD."&#13;
  }&#13;
}&#13;
&#13;
function Resolve-WebDevPaths {&#13;
  param([string]$ver)&#13;
  $c = $InstallPathC -replace '\{0\}', $ver&#13;
  $d = $InstallPathD -replace '\{0\}', $ver&#13;
  $c = $c -replace 'WINDEV', 'WEBDEV'  # se máquina tem só WEBDEV instalado com pasta WEBDEV&#13;
  $d = $d -replace 'WINDEV', 'WEBDEV'&#13;
  $c2 = $InstallPathC -replace '\{0\}', $ver&#13;
  # Tenta ambas nomenclaturas (há ambientes com WINDEV contendo Engine do WAS)&#13;
  $candidates = @(&#13;
    (Join-Path $c  "Programs\Engine\Win64x86\AWP"),&#13;
    (Join-Path $d  "Programs\Engine\Win64x86\AWP"),&#13;
    (Join-Path $c2 "Programs\Engine\Win64x86\AWP"),&#13;
    (Join-Path $c  "Programs\Engine\Win32\AWP"),&#13;
    (Join-Path $d  "Programs\Engine\Win32\AWP")&#13;
  ) | Get-Unique&#13;
  foreach($p in $candidates){ if(Test-Path $p){ return $p } }&#13;
  return $null&#13;
}&#13;
&#13;
function Get-AwpExe {&#13;
  param([string]$ver)&#13;
  # WD300awp.exe =&gt; WebDev 30, WD295awp.exe =&gt; 2025 beta, etc. Usaremos heurística:&#13;
  $awpFolder = Resolve-WebDevPaths -ver $ver&#13;
  if (!$awpFolder) { return $null }&#13;
  $files = Get-ChildItem -Path $awpFolder -Filter "WD*awp.exe" -ErrorAction SilentlyContinue | Sort-Object Name -Descending&#13;
  return $files | Select-Object -First 1&#13;
}&#13;
&#13;
# =========================&#13;
# Usuário local (opcional)&#13;
# =========================&#13;
function Ensure-LocalWebdevUser {&#13;
  param([string]$User, [SecureString]$Pass, [switch]$force)&#13;
  $exists = Get-LocalUser -Name $User -ErrorAction SilentlyContinue&#13;
  if ($exists -and $force){&#13;
    Write-Log "Removendo usuário existente $User" "WARN"&#13;
    Remove-LocalUser -Name $User -ErrorAction SilentlyContinue&#13;
    $exists = $null&#13;
  }&#13;
  if (!$exists){&#13;
    if (-not $Pass){ $Pass = Read-Host -AsSecureString -Prompt "Senha para $User (mín. 8 chars)" }&#13;
    New-LocalUser -Name $User -Password $Pass -FullName "$User - WebDev Admin" -PasswordNeverExpires -UserMayNotChangePassword | Out-Null&#13;
    Write-Log "Usuário criado: $User" "OK"&#13;
  } else {&#13;
    Write-Log "Usuário já existe: $User" "INFO"&#13;
  }&#13;
  foreach($grp in @("Administrators","IIS_IUSRS")){&#13;
    try { Add-LocalGroupMember -Group $grp -Member $User -ErrorAction SilentlyContinue } catch {}&#13;
  }&#13;
  Write-Log "Usuário '$User' está nos grupos Administrators e IIS_IUSRS" "OK"&#13;
}&#13;
&#13;
# =========================&#13;
# IIS: instalação e base&#13;
# =========================&#13;
function Ensure-IIS {&#13;
  Write-Log "Instalando recursos IIS..." "STEP"&#13;
  $features = @(&#13;
    "IIS-WebServerRole","IIS-WebServer","IIS-CommonHttpFeatures",&#13;
    "IIS-HttpErrors","IIS-HttpRedirect",&#13;
    "IIS-ApplicationDevelopment","IIS-NetFxExtensibility45","IIS-ASPNET45",&#13;
    "IIS-ISAPIExtensions","IIS-ISAPIFilter",&#13;
    "IIS-HealthAndDiagnostics","IIS-HttpLogging",&#13;
    "IIS-Security","IIS-RequestFiltering",&#13;
    "IIS-Performance",&#13;
    "IIS-WebServerManagementTools","IIS-ManagementConsole",&#13;
    "IIS-IIS6ManagementCompatibility","IIS-Metabase"&#13;
  )&#13;
  foreach($f in $features){&#13;
    try { Enable-WindowsOptionalFeature -Online -FeatureName $f -All -NoRestart -ErrorAction SilentlyContinue | Out-Null } catch {}&#13;
  }&#13;
  # Inicia/garante site padrão&#13;
  Import-Module WebAdministration -ErrorAction SilentlyContinue&#13;
  $site = Get-Website -Name $SiteName -ErrorAction SilentlyContinue&#13;
  if ($site -and $site.State -ne "Started"){ Start-Website -Name $SiteName }&#13;
  Write-Log "IIS instalado e $SiteName ativo" "OK"&#13;
}&#13;
&#13;
function Configure-AppPool {&#13;
  param([string]$Pool="WebdevAppPool",[string]$User,[SecureString]$Pass)&#13;
  Import-Module WebAdministration -ErrorAction SilentlyContinue&#13;
  if (-not (Get-IISAppPool -Name $Pool -ErrorAction SilentlyContinue)){&#13;
    New-IISAppPool -Name $Pool | Out-Null&#13;
  }&#13;
  if ($User -and $Pass){&#13;
    $plain = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($Pass))&#13;
    Set-IISAppPool -Name $Pool -ProcessModel @{ identityType="SpecificUser"; userName=$User; password=$plain }&#13;
  }&#13;
  # Ajustes recomendados para apps longas&#13;
  Set-WebConfiguration "/system.applicationHost/applicationPools/add[@name='$Pool']/recycling/periodicRestart" -Value @{time="00:00:00"} -PSPath IIS:\ -ErrorAction SilentlyContinue&#13;
  Set-WebConfiguration "/system.applicationHost/applicationPools/add[@name='$Pool']" -Value @{startMode="AlwaysRunning"} -PSPath IIS:\ -ErrorAction SilentlyContinue&#13;
  Write-Log "Application Pool '$Pool' configurado" "OK"&#13;
  # Atribui pool ao site&#13;
  if (Get-Website -Name $SiteName -ErrorAction SilentlyContinue){&#13;
    Set-ItemProperty "IIS:\Sites\$SiteName" -Name applicationPool -Value $Pool&#13;
    Write-Log "Pool '$Pool' aplicado ao site '$SiteName'" "OK"&#13;
  }&#13;
}&#13;
&#13;
# =========================&#13;
# Handlers / ISAPI do W.A.S.&#13;
# =========================&#13;
function Configure-WebDevHandlers {&#13;
  param([string]$awpExePath)&#13;
  if (-not (Test-Path $awpExePath)){ throw "WDxxawp.exe não encontrado ($awpExePath)" }&#13;
  Import-Module WebAdministration -ErrorAction SilentlyContinue&#13;
&#13;
  # Permite ISAPI para o executável do W.A.S.&#13;
  $isapi = Get-WebConfiguration "system.webServer/security/isapiCgiRestriction/add[@path='$awpExePath']" -ErrorAction SilentlyContinue&#13;
  if (-not $isapi){&#13;
    Add-WebConfiguration "system.webServer/security/isapiCgiRestriction" -Value @{ path=$awpExePath; allowed=$true; description=("WebDev AWP " + $WebdevVersion) } -ErrorAction SilentlyContinue&#13;
    Write-Log "ISAPI permitido: $awpExePath" "OK"&#13;
  }&#13;
&#13;
  # Limpa handlers antigos “WebDev-*”&#13;
  $handlers = Get-WebConfiguration "system.webServer/handlers/add" -PSPath "IIS:\Sites\$SiteName" -ErrorAction SilentlyContinue | Where-Object { $_.name -like "WebDev-*" -or $_.path -like "*.awp" -or $_.path -like "*.awws" -or $_.path -like "*.wb" }&#13;
  foreach($h in $handlers){&#13;
    Remove-WebConfiguration "system.webServer/handlers/add[@name='$($h.name)']" -PSPath "IIS:\Sites\$SiteName" -ErrorAction SilentlyContinue&#13;
  }&#13;
&#13;
  $map = @(&#13;
    @{ Ext=".awp";  Name="WebDev-AWP"  },&#13;
    @{ Ext=".awws"; Name="WebDev-AWWS" },&#13;
    @{ Ext=".wb";   Name="WebDev-WB"   }&#13;
  )&#13;
  foreach($m in $map){&#13;
    Add-WebConfiguration "system.webServer/handlers" -PSPath "IIS:\Sites\$SiteName" -Value @{&#13;
      name=$m.Name; path=("*{0}" -f $m.Ext); verb="*"; modules="IsapiModule"; scriptProcessor=$awpExePath; resourceType="File"&#13;
    } -ErrorAction SilentlyContinue&#13;
  }&#13;
&#13;
  # MIME types (tolerante a duplicatas)&#13;
  $mimes = @(&#13;
    @{ext=".awp";  type="application/x-webdev-awp"},&#13;
    @{ext=".awws"; type="application/x-webdev-awws"},&#13;
    @{ext=".wb";   type="application/x-webdev-wb"}&#13;
  )&#13;
  foreach($mm in $mimes){&#13;
    try {&#13;
      Add-WebConfiguration "system.webServer/staticContent" -PSPath "IIS:\Sites\$SiteName" -Value @{ fileExtension=$mm.ext; mimeType=$mm.type } -ErrorAction Stop&#13;
    } catch { }&#13;
  }&#13;
  Write-Log "Handlers/MIME do WebDev configurados para $SiteName" "OK"&#13;
}&#13;
&#13;
# =========================&#13;
# Permissões NTFS úteis&#13;
# =========================&#13;
function Grant-Permissions {&#13;
  param([string]$Path,[string]$User)&#13;
  if(-not (Test-Path $Path)){ New-Item -ItemType Directory -Path $Path -Force | Out-Null }&#13;
  $acl = Get-Acl $Path&#13;
  $rules = @(&#13;
    New-Object System.Security.AccessControl.FileSystemAccessRule($User, "FullControl","ContainerInherit, ObjectInherit","None","Allow"),&#13;
    New-Object System.Security.AccessControl.FileSystemAccessRule("IIS_IUSRS", "Modify","ContainerInherit, ObjectInherit","None","Allow"),&#13;
    New-Object System.Security.AccessControl.FileSystemAccessRule("NETWORK SERVICE", "ReadAndExecute","ContainerInherit, ObjectInherit","None","Allow")&#13;
  )&#13;
  foreach($r in $rules){ $acl.SetAccessRule($r) }&#13;
  Set-Acl -Path $Path -AclObject $acl&#13;
  Write-Log "Permissões aplicadas em '$Path'" "OK"&#13;
}&#13;
&#13;
# =========================&#13;
# Aplicação Virtual&#13;
# =========================&#13;
function Ensure-VirtualApp {&#13;
  param([string]$Name,[string]$User)&#13;
  Import-Module WebAdministration -ErrorAction SilentlyContinue&#13;
  $physical = Join-Path "C:\inetpub\wwwroot" $Name&#13;
  if (!(Test-Path $physical)){ New-Item -ItemType Directory -Path $physical -Force | Out-Null }&#13;
  Grant-Permissions -Path $physical -User $User&#13;
&#13;
  # Remove app anterior se Force&#13;
  if ($Force -and (Get-WebApplication -Site $SiteName -Name $Name -ErrorAction SilentlyContinue)){&#13;
    Remove-WebApplication -Site $SiteName -Name $Name -ErrorAction SilentlyContinue&#13;
  }&#13;
  if (-not (Get-WebApplication -Site $SiteName -Name $Name -ErrorAction SilentlyContinue)){&#13;
    New-WebApplication -Site $SiteName -Name $Name -PhysicalPath $physical -ApplicationPool "WebdevAppPool" | Out-Null&#13;
  }&#13;
&#13;
  # web.config básico&#13;
  $webCfg = @"&#13;
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#13;
&lt;configuration&gt;&#13;
  &lt;system.web&gt;&#13;
    &lt;compilation targetFramework="4.8" debug="false"/&gt;&#13;
    &lt;httpRuntime targetFramework="4.8" executionTimeout="7200" maxRequestLength="102400"/&gt;&#13;
    &lt;sessionState timeout="120"/&gt;&#13;
    &lt;trust level="Full"/&gt;&#13;
  &lt;/system.web&gt;&#13;
  &lt;system.webServer&gt;&#13;
    &lt;defaultDocument&gt;&#13;
      &lt;files&gt;&#13;
        &lt;clear/&gt;&#13;
        &lt;add value="index.awp"/&gt;&#13;
        &lt;add value="default.awp"/&gt;&#13;
        &lt;add value="login.awp"/&gt;&#13;
      &lt;/files&gt;&#13;
    &lt;/defaultDocument&gt;&#13;
    &lt;validation validateIntegratedModeConfiguration="false"/&gt;&#13;
    &lt;modules runAllManagedModulesForAllRequests="true"/&gt;&#13;
    &lt;security&gt;&#13;
      &lt;requestFiltering&gt;&#13;
        &lt;requestLimits maxAllowedContentLength="104857600"/&gt;&#13;
      &lt;/requestFiltering&gt;&#13;
    &lt;/security&gt;&#13;
  &lt;/system.webServer&gt;&#13;
&lt;/configuration&gt;&#13;
"@&#13;
  $webCfg | Out-File -FilePath (Join-Path $physical "web.config") -Encoding UTF8 -Force&#13;
&#13;
  # WEB.INI mínimo (útil para diagnósticos do Checklist)&#13;
  $webIni = @"&#13;
[PROJECT]&#13;
PROJECTNAME=$Name&#13;
PROJECTPATH=$physical&#13;
VERSION=$WebdevVersion&#13;
TIMEOUT=7200&#13;
"@&#13;
  $webIni | Out-File -FilePath (Join-Path $physical "WEB.INI") -Encoding UTF8 -Force&#13;
&#13;
  # Página de teste&#13;
  $html = @"&#13;
&lt;!doctype html&gt;&#13;
&lt;html&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;title&gt;$Name&lt;/title&gt;&lt;/head&gt;&#13;
&lt;body&gt;&#13;
  &lt;h1&gt;✅ $Name online&lt;/h1&gt;&#13;
  &lt;p&gt;Servidor: $env:COMPUTERNAME&lt;/p&gt;&#13;
  &lt;p&gt;Diretório: $physical&lt;/p&gt;&#13;
&lt;/body&gt;&lt;/html&gt;&#13;
"@&#13;
  $html | Out-File -FilePath (Join-Path $physical "test.html") -Encoding UTF8 -Force&#13;
&#13;
  Write-Log "Aplicação virtual '$Name' pronta em $physical" "OK"&#13;
  return $physical&#13;
}&#13;
&#13;
# =========================&#13;
# Correção p/ DISM (opcional)&#13;
# =========================&#13;
function Ensure-DismWorks {&#13;
  # Alguns ambientes de WAS exigem que o DISM rode corretamente (vide fórum)&#13;
  $dism = "$env:WINDIR\System32\dism.exe"&#13;
  if (!(Test-Path $dism)){ Write-Log "DISM não encontrado: $dism" "WARN"; return }&#13;
  try {&#13;
    &amp; $dism /online /Get-CurrentEdition | Out-Null&#13;
    if ($LASTEXITCODE -eq 0){ Write-Log "DISM operacional." "OK"; return }&#13;
  } catch {}&#13;
  Write-Log "DISM apresentou erro. Aplicando correções leves (ACL no dism.exe)." "WARN"&#13;
  try{&#13;
    takeown /f $dism | Out-Null&#13;
    icacls $dism /grant "Administrators:F" /Q | Out-Null&#13;
    icacls $dism /grant "IIS_IUSRS:RX" /Q | Out-Null&#13;
  } catch {&#13;
    Write-Log "Falha ao ajustar ACL do DISM: $_" "WARN"&#13;
  }&#13;
}&#13;
&#13;
# =========================&#13;
# Abrir firewall (opcional)&#13;
# =========================&#13;
function Ensure-Firewall {&#13;
  New-NetFirewallRule -DisplayName "IIS HTTP 80"  -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80  -ErrorAction SilentlyContinue | Out-Null&#13;
  New-NetFirewallRule -DisplayName "IIS HTTPS 443" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 -ErrorAction SilentlyContinue | Out-Null&#13;
  Write-Log "Firewall: portas 80/443 liberadas" "OK"&#13;
}&#13;
&#13;
# =========================&#13;
# Copiar DLLs para BIN do AWP (seguro)&#13;
# =========================&#13;
function Copy-EngineDllsToAwpBin {&#13;
  param([string]$awpFolder)&#13;
  # Em vez de System32, mantenha as DLLs ao lado do WDxxawp.exe (boa prática de isolamento)&#13;
  $engineRoot = Split-Path $awpFolder -Parent&#13;
  $src = $engineRoot&#13;
  $dst = $awpFolder&#13;
  $patterns = @("wd*.dll","hf*.dll","*sql*.dll","*oracle*.dll","*mysql*.dll")&#13;
  $copied = 0&#13;
  foreach($pat in $patterns){&#13;
    Get-ChildItem -Path $src -Filter $pat -ErrorAction SilentlyContinue | ForEach-Object {&#13;
      Copy-Item $_.FullName -Destination (Join-Path $dst $_.Name) -Force -ErrorAction SilentlyContinue&#13;
      $copied++&#13;
    }&#13;
  }&#13;
  Write-Log ("DLLs copiadas para AWP/BIN: {0}" -f $copied) "OK"&#13;
}&#13;
&#13;
# =========================&#13;
# Testes e Diagnósticos&#13;
# =========================&#13;
function Test-Endpoints {&#13;
  param([string]$AppName)&#13;
  try {&#13;
    $r = Invoke-WebRequest -Uri "http://localhost" -UseBasicParsing -TimeoutSec 10&#13;
    Write-Log "IIS responde (HTTP 80): $($r.StatusCode)" "OK"&#13;
  } catch {&#13;
    Write-Log "IIS não respondeu em http://localhost" "ERROR"&#13;
  }&#13;
  if ($AppName){&#13;
    try {&#13;
      $url = "http://localhost/{0}/test.html" -f $AppName&#13;
      $r2  = Invoke-WebRequest -Uri $url -UseBasicParsing -TimeoutSec 10&#13;
      Write-Log "Aplicação '$AppName' responde: $($r2.StatusCode) - $url" "OK"&#13;
    } catch {&#13;
      Write-Log "Aplicação '$AppName' NÃO respondeu." "ERROR"&#13;
    }&#13;
  }&#13;
}&#13;
&#13;
function Invoke-WasIisDiagnostics {&#13;
  param([string]$AppName,[string]$awpExe)&#13;
  Import-Module WebAdministration -ErrorAction SilentlyContinue&#13;
  $checks = [ordered]@{&#13;
    "Usuário local administrativo"   = $true&#13;
    "Usuário NÃO é AD"               = $true&#13;
    "IIS instalado e ativo"          = $false&#13;
    "Pool WebdevAppPool existe"      = $false&#13;
    "WDxxawp.exe localizado"         = $false&#13;
    "Handlers .awp/.awws/.wb"        = $false&#13;
    "ISAPI liberado p/ AWP"          = $false&#13;
    "Porta 80 acessível"             = $false&#13;
    "Aplicação virtual existe"       = $false&#13;
    "Permissões wwwroot/app OK"      = $false&#13;
    "DISM funcional (opcional)"      = $false&#13;
  }&#13;
&#13;
  # AD/local&#13;
  try { Ensure-NotADUser } catch { $checks["Usuário NÃO é AD"] = $false }&#13;
  try {&#13;
    $id  = [Security.Principal.WindowsIdentity]::GetCurrent()&#13;
    $pri = New-Object Security.Principal.WindowsPrincipal($id)&#13;
    $checks["Usuário local administrativo"] = $pri.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)&#13;
  } catch { $checks["Usuário local administrativo"] = $false }&#13;
&#13;
  # IIS&#13;
  $site = Get-Website -Name $SiteName -ErrorAction SilentlyContinue&#13;
  if ($site -and $site.State -eq "Started"){ $checks["IIS instalado e ativo"] = $true }&#13;
&#13;
  # Pool&#13;
  if (Get-IISAppPool -Name "WebdevAppPool" -ErrorAction SilentlyContinue){ $checks["Pool WebdevAppPool existe"] = $true }&#13;
&#13;
  # AWP&#13;
  if ($awpExe -and (Test-Path $awpExe)){ $checks["WDxxawp.exe localizado"] = $true }&#13;
&#13;
  # Handlers (.awp)&#13;
  $hAwp  = Get-WebConfiguration "system.webServer/handlers/add[@path='*.awp']"  -PSPath "IIS:\Sites\$SiteName" -ErrorAction SilentlyContinue&#13;
  $hAwws = Get-WebConfiguration "system.webServer/handlers/add[@path='*.awws']" -PSPath "IIS:\Sites\$SiteName" -ErrorAction SilentlyContinue&#13;
  $hWb   = Get-WebConfiguration "system.webServer/handlers/add[@path='*.wb']"   -PSPath "IIS:\Sites\$SiteName" -ErrorAction SilentlyContinue&#13;
  if ($hAwp -and $hAwws -and $hWb){ $checks["Handlers .awp/.awws/.wb"] = $true }&#13;
&#13;
  # ISAPI&#13;
  $isapi = Get-WebConfiguration "system.webServer/security/isapiCgiRestriction/add[@path='$awpExe']" -ErrorAction SilentlyContinue&#13;
  if ($isapi){ $checks["ISAPI liberado p/ AWP"] = $true }&#13;
&#13;
  # Porta 80&#13;
  try { $r = Invoke-WebRequest -Uri "http://localhost" -UseBasicParsing -TimeoutSec 5; if($r.StatusCode){ $checks["Porta 80 acessível"] = $true } } catch {}&#13;
&#13;
  # App&#13;
  if ($AppName){&#13;
    $app = Get-WebApplication -Site $SiteName -Name $AppName -ErrorAction SilentlyContinue&#13;
    if ($app){ $checks["Aplicação virtual existe"] = $true&#13;
      if (Test-Path $app.PhysicalPath){ $checks["Permissões wwwroot/app OK"] = $true }&#13;
    }&#13;
  }&#13;
&#13;
  # DISM&#13;
  try {&#13;
    &amp; "$env:WINDIR\System32\dism.exe" /online /Get-CurrentEdition | Out-Null&#13;
    if ($LASTEXITCODE -eq 0){ $checks["DISM funcional (opcional)"] = $true }&#13;
  } catch {}&#13;
&#13;
  Write-Host ""&#13;
  Write-Host "📊 DIAGNÓSTICO WAS/IIS"&#13;
  Write-Host "----------------------"&#13;
  $ok=0; $tot=$checks.Count&#13;
  foreach($k in $checks.Keys){&#13;
    $val = $checks[$k]&#13;
    if ($val){ Write-Host ("[OK]  {0}" -f $k) -ForegroundColor Green; $ok++ }&#13;
    else     { Write-Host ("[NOK] {0}" -f $k) -ForegroundColor Red }&#13;
  }&#13;
  $pct = [math]::Round(($ok/$tot)*100,2)&#13;
  Write-Host ("Resumo: {0}/{1} = {2}%" -f $ok,$tot,$pct) -ForegroundColor Cyan&#13;
}&#13;
&#13;
# =========================&#13;
# Fluxo principal&#13;
# =========================&#13;
try{&#13;
  Must-BeLocalAdmin&#13;
  Ensure-NotADUser&#13;
&#13;
  # Ajusta versões de caminho&#13;
  $InstallPathC = $InstallPathC -replace '\{0\}', $WebdevVersion&#13;
  $InstallPathD = $InstallPathD -replace '\{0\}', $WebdevVersion&#13;
&#13;
  Write-Log "Início da configuração WAS/IIS (v$WebdevVersion) — Site: $SiteName — Projeto: $ProjectName" "STEP"&#13;
&#13;
  if ($CreateLocalUser){&#13;
    Ensure-LocalWebdevUser -User $LocalUser -Pass $LocalUserPassword -force:$Force&#13;
  }&#13;
&#13;
  if ($ConfigureIIS){&#13;
    Ensure-IIS&#13;
    if ($CreateLocalUser){&#13;
      Configure-AppPool -Pool "WebdevAppPool" -User $LocalUser -Pass $LocalUserPassword&#13;
    } else {&#13;
      Configure-AppPool -Pool "WebdevAppPool"&#13;
    }&#13;
  }&#13;
&#13;
  $awp = $null&#13;
  if ($ConfigureWAS){&#13;
    $awpFile = Get-AwpExe -ver $WebdevVersion&#13;
    if (-not $awpFile){ throw "Não foi possível localizar WDxxawp.exe (verifique instalação do WebDev/WAS)" }&#13;
    $awp = $awpFile.FullName&#13;
    Write-Log "AWP detectado: $awp" "OK"&#13;
    Configure-WebDevHandlers -awpExePath $awp&#13;
    if ($CopyDllsToBin){ Copy-EngineDllsToAwpBin -awpFolder $awpFile.DirectoryName }&#13;
  }&#13;
&#13;
  if ($OpenFirewall){ Ensure-Firewall }&#13;
&#13;
  if ($FixDism){ Ensure-DismWorks }&#13;
&#13;
  if ($CreateVirtualApp -and $ProjectName){&#13;
    $userForPerms = ($CreateLocalUser) ? $LocalUser : "$env:USERNAME"&#13;
    Ensure-VirtualApp -Name $ProjectName -User $userForPerms | Out-Null&#13;
    iisreset | Out-Null&#13;
    Test-Endpoints -AppName $ProjectName&#13;
  } else {&#13;
    Test-Endpoints&#13;
  }&#13;
&#13;
  if ($RunDiagnostics){&#13;
    if (-not $awp){ $awpFile = Get-AwpExe -ver $WebdevVersion; if($awpFile){ $awp=$awpFile.FullName } }&#13;
    Invoke-WasIisDiagnostics -AppName $ProjectName -awpExe $awp&#13;
  }&#13;
&#13;
  Write-Log ("Concluído em {0}s" -f [int](New-TimeSpan -Start $global:StartedAt -End (Get-Date)).TotalSeconds) "OK"&#13;
}&#13;
catch{&#13;
  Write-Log "Falhou: $_" "ERROR"&#13;
  throw&#13;
}&#13;
&#13;
[/code]&#13;
&#13;
⸻&#13;
&#13;
O que este script faz (e por quê)&#13;
	•	Usuário LOCAL e grupos: cria/usa um usuário local (Administrators + IIS_IUSRS) e evita usuários AD para instalar/configurar (padrão do checklist e dos relatos de campo).  ￼&#13;
	•	IIS “tudo verde”: instala recursos exigidos (ASP.NET 4.8, ISAPI, Console, Metabase/IIS6 compatibility) e garante o Default Web Site iniciado.  ￼&#13;
	•	Handlers/MIME do WebDev: registra .awp / .awws / .wb apontando para o WDxxawp.exe e libera o ISAPI correspondente — condição verificada nos diagnósticos.  ￼&#13;
	•	Aplicação Virtual + WEB.INI + test.html: ajuda a matar o erro “Application: configuration of the virtual directory” criando o diretório físico, permissões, WEB.INI mínimo e uma URL de teste com status.  ￼&#13;
	•	DISM opcional: adiciona correção leve de ACL no dism.exe quando você usar -FixDism (apenas se realmente precisar, conforme relatos). Não mexe em System32 globalmente, nem desabilita SFC/UAC por padrão, para manter segurança.  ￼&#13;
	•	DLLs: se precisar, -CopyDllsToBin copia DLLs do engine para a pasta do AWP (lado do executável), evitando poluir o System32 (isolamento e reversibilidade melhores).&#13;
&#13;
--&#13;
Adriano José Boller&#13;
______________________________________________&#13;
Consultor e Representante Oficial da&#13;
PcSoft no Brasil&#13;
+55 (41) 99949 1800&#13;
adrianoboller@gmail.com&#13;
skype: adrianoboller&#13;
http://wxinformatica.com.br/</description><ttl>30</ttl><generator>WEBDEV</generator><language>pt_BR</language><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp</link><title>SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title><managingEditor>moderateur@pcsoft.fr (O moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (O webmaster)</webMaster><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5337/read.awp</comments><pubDate>24 Sep 2025 13:38:12 Z</pubDate><description># Análise de Completude e Funcionalidades do WAS Orchestrator Kit v5.1&#13;
&#13;
Com base na análise estática dos scripts PowerShell e …</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5337/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5337/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5336/read.awp</comments><pubDate>24 Sep 2025 13:36:15 Z</pubDate><description># Manual de Uso do WAS Orchestrator Kit v5.1&#13;
&#13;
**Autor:** Manus AI&#13;
&#13;
## Índice&#13;
&#13;
1.  [Finalidade](#finalidade)&#13;
2.  [Visão Ge…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5336/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5336/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5335/read.awp</comments><pubDate>24 Sep 2025 05:28:14 Z</pubDate><description>Download &#13;
&#13;
https://repository.windev.com/resource.awp?file_id=562949953421359;was-internet-information-server-msiis-power-sche…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5335/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5335/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5334/read.awp</comments><pubDate>23 Sep 2025 23:36:25 Z</pubDate><description>Hoje você tem dois HTMLs principais gerados automaticamente pelo WAS Orchestrator Kit v5.x:&#13;
&#13;
⸻&#13;
&#13;
📑 1. WAS-Audit.html&#13;
	•	Loc…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5334/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5334/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5333/read.awp</comments><pubDate>23 Sep 2025 23:19:48 Z</pubDate><description>📘 Manual de Uso – WAS Orchestrator Kit v5.0&#13;
&#13;
1. Introdução&#13;
&#13;
O WAS Orchestrator Kit é um conjunto de scripts em PowerShell e…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5333/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5333/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5332/read.awp</comments><pubDate>23 Sep 2025 23:11:17 Z</pubDate><description>📋 Cenários de Uso do WAS Orchestrator Kit v5.0 (em tópicos)&#13;
&#13;
1. Instalação e Provisionamento&#13;
	•	Provisionar servidor novo&#13;
	…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5332/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5332/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5331/read.awp</comments><pubDate>23 Sep 2025 23:09:28 Z</pubDate><description>🌐 Fluxograma de Uso do WAS Orchestrator Kit v5.0&#13;
&#13;
flowchart TD&#13;
&#13;
    A[Início] --&gt; B{O que você precisa fazer?}&#13;
&#13;
    B --&gt;…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5331/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5331/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5330/read.awp</comments><pubDate>23 Sep 2025 23:00:04 Z</pubDate><description>Bundle/&#13;
├── Installer/&#13;
│   ├── Build-Installer-EXE.cmd&#13;
│   ├── Prepare-IExpress.ps1&#13;
│   └── WAS-Installer.sed&#13;
├── Scripts/&#13;…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5330/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5330/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5329/read.awp</comments><pubDate>23 Sep 2025 22:48:18 Z</pubDate><description>WAS_Orchestrator_Kit_v5.0/&#13;
└── Bundle/&#13;
    ├── Catalog/&#13;
    │   └── WAS-CATALOG-SHA256.txt          # Catálogo com SHA256 de …</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5329/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5329/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5328/read.awp</comments><pubDate>23 Sep 2025 22:13:34 Z</pubDate><description>Manual de uso&#13;
&#13;
Organograma do Projeto&#13;
&#13;
WAS_Orchestrator_Kit_v5.0/&#13;
└── Bundle/&#13;
    ├── Scripts/&#13;
    │   ├── WAS-Orchestrat…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5328/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5328/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5327/read.awp</comments><pubDate>23 Sep 2025 05:11:25 Z</pubDate><description>Repositório v1&#13;
&#13;
https://repository.windev.com/resource.awp?file_id=562949953421357;was-internet-information-server-msiis-power…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5327/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5327/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5317/read.awp</comments><pubDate>22 Sep 2025 07:31:08 Z</pubDate><description>O script PowerShell `Setup-WAS-IIS_v2.ps1` é uma ferramenta abrangente para configurar, validar e manter o Microsoft Internet In…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5317/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5317/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5316/read.awp</comments><pubDate>22 Sep 2025 07:25:15 Z</pubDate><description># Script de Validação e Configuração do IIS e WAS (WebDev Application Server)&#13;
&#13;
## Visão Geral&#13;
&#13;
Este script PowerShell, desen…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5316/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5316/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5315/read.awp</comments><pubDate>22 Sep 2025 07:17:26 Z</pubDate><description>O script agora apresenta um menu interativo para que você possa escolher as ações a serem executadas.&#13;
&#13;
Como usar o script:&#13;
&#13;
…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5315/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5315/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5314/read.awp</comments><pubDate>22 Sep 2025 07:06:22 Z</pubDate><description>Entao, separei em dois scripts (hardening e unsafe) + atalhos .bat prontos. Você pode editar os parâmetros nos .bat e rodar em “…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5314/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5314/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5313/read.awp</comments><pubDate>22 Sep 2025 06:58:36 Z</pubDate><description>Perfeito — aqui vai a v2 com tudo que você pediu adicionado, já no mesmo script (hardening + crypto + HTTP/2 + app init + COOP/C…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5313/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5313/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item><item><author>Boller</author><category>pcsoft.br.windev</category><comments>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5312/read.awp</comments><pubDate>22 Sep 2025 06:55:37 Z</pubDate><description>Segue um pacotão V1.0 PowerShell com as duas variantes que você pediu, no mesmo script:&#13;
	1.	Modo “unsafe/system-takeover” (opci…</description><guid isPermaLink="true">https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5312/read.awp</guid><link>https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis-5312/read.awp</link><source url="https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/5311-super-script-para-validar-internet-information-server-msiis/read.awp">SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</source><title>Re: SUPER SCRIPT PARA VALIDAR W.A.S. E Ms Internet Information Server (Msiis)</title></item></channel></rss>
