Por que converter VBS para PS1?
A Microsoft descontinuou o VBScript - no Windows 11 24H2 ele se tornou um recurso opcional e a Microsoft planeja parar de habilitá-lo por padrão por volta de 2027, para depois removê-lo totalmente. O PowerShell vem com o Windows e é o substituto oficial para automação no Windows; qualquer script .vbs que precise continuar funcionando deve ser reescrito como .ps1 agora.
Como converter VBS para PS1
Visual Studio Code FREE
Abra o .vbs e um novo arquivo .ps1 em visualização dividida; o VS Code fornece realce de sintaxe para ambas as linguagens e torna a reescrita lado a lado direta.
Notepad++ FREE
Abra o .vbs e o novo .ps1 lado a lado na visualização de janelas múltiplas do Notepad++ para portar cada seção manualmente; o Notepad++ possui realce de sintaxe integrado para VBScript e PowerShell.
Sobre estes formatos
Um arquivo VBS é um VBScript - código-fonte em texto simples que o Windows executa com o seu Windows Script Host integrado. Clicar duas vezes em um .vbs o executa imediatamente; não o abre…
Abrir detalhes de .VBS →Um arquivo PS1 é um script do Windows PowerShell - um arquivo de texto simples com comandos que automatizam tarefas no Windows, macOS ou Linux. No Windows, clique com o botão direito e…
Abrir detalhes de .PS1 →Qualidade e o que observar
- Mapeamentos comuns:
CreateObject("Scripting.FileSystemObject")torna-se cmdlets integrados comoGet-ItemeCopy-Item;WScript.Echotorna-seWrite-Output; loopsFor Eachtornam-se loopsforeachcom sintaxe atualizada. - Se a política de execução bloquear o
.ps1na primeira execução, useSet-ExecutionPolicy RemoteSigned -Scope CurrentUserno PowerShell. - Não existe um conversor dedicado de VBS-para-PS1; assistentes de IA podem rascunhar um equivalente em PowerShell para scripts curtos, mas o resultado sempre exige revisão e testes.
Perguntas frequentes
Existe um conversor automático de VBS para PowerShell?
Por que não manter apenas o arquivo `.vbs`?
.vbs eventualmente deixarão de funcionar.As chamadas de objetos COM são traduzidas para o PowerShell?
New-Object -ComObject para acesso COM, então chamadas para WScript.Shell podem frequentemente ser substituídas por New-Object -ComObject WScript.Shell.