Quais linguagens de script são úteis no Windows? [fechadas]

46

Quais linguagens de script são úteis para a automação do Windows?

    
por 5 revs, 3 users 67%abc123 21.08.2013 / 02:57

9 respostas

35
  1. PowerShell
  2. Windows Scripting Host
    uma. VBScript
    b. JScript
  3. Arquivos em lote

PowerShell (v2.0)

A partir do Windows 7 e Server 2008, é razoável considerar o PowerShell como fornecido com o Windows, e também é fundamental administrar software de servidor, como o Lync e o Exchange, pois há um conjunto inteiro de comandos disponíveis para eles. Há uma lista crescente de recursos disponíveis, consulte Centro de script para obter detalhes.

Anfitrião de scripts do Windows

O Windows Script Host (WSH) é tecnicamente um host de script para os Mecanismos de Script ActiveX. VBScript e JScript (implementação de JavaScript da Microsoft) são os dois mecanismos instalados por padrão. Muitos outros estão disponíveis como código aberto, incluindo Perl, PHP e Ruby.

VBScript

Usando uma sintaxe similar a VB6 e VB.NET, os VBScripts não têm acesso fácil a classes .NET (o Powershell é escrito em .NET, portanto, ele tem acesso a todas as funções .NET). O VBScript aproveita principalmente o serviço WMI e os objetos que ele expõe.

Exemplo: isso cria um ponto de restauração.

Set wmi, whatName, errResults
wmi = GetObject("winmgmts:\.\root\default:Systemrestore")
whatName = InputBox("Enter a name for the Restore Point",WScript.ScriptName)
errResults = wmi.CreateRestorePoint (whatName, 12, 100)
If errResults <> 0 then
    Wscript.Echo "Error " & errResults & " : Unable to create Restore Point"
End If

JScript

Você também pode escrever o mesmo script usando o ECMAScript:

var wmi = WScript.GetObject("winmgmts:\.\root\default:Systemrestore");
var whatName = WSHInputBox("Enter a name for the Restore Point",Script.ScriptName);
var errResults = wmi.CreateRestorePoint(whatName, 12, 100);
if(errResults != 0) {
    WScript.Echo("Error "+ err + " : Unable to create Restore Point");
}

Arquivos de lote de comando

Existe, é claro, o bom e velho arquivo em lote. Eles não precisam de introdução.

    
por 02.01.2012 / 09:07
16

Eu ainda escrevo arquivos em lote do DOS, mesmo no Windows 7. Para a maioria das tarefas, isso ainda funciona muito bem, e é muito simples de trabalhar (também, muitos dos comandos do DOS como "FOR" foram melhorados ao longo do tempo e fornecer mais opções e funcionalidades que não estavam disponíveis há mais de uma década).

Para mim, um arquivo de lote do DOS ainda é a principal linguagem de script do Windows (certamente é tradicional), mas todo mundo tem necessidades e preferências diferentes. Há muitas coisas que os arquivos em lote do DOS não podem fazer (linguagens de script também podem apresentar limitações) e, nas raras ocasiões em que encontrei isso, eu vejo quais são minhas outras opções (geralmente é Perl, ou às vezes escrever um pequeno programa ou uma aplicação inteira).

Entender o que você precisa realizar é uma etapa muito importante para decidir quais ferramentas usar. A familiaridade com as ferramentas é outro aspecto importante que pode limitar suas opções. Se você estiver tentando decidir qual linguagem de script [ou programação] aprender, esperamos que isso seja útil para você.

    
por 25.05.2011 / 08:18
10

Isso depende de quem você pergunta. Alguns nunca deixam lote, algum amor vbscript algum amor powershell, outros como AutoIt. Depois, há os independentes da plataforma, como Python e Perl, que alguns irão jurar por tudo.

    
por 25.05.2011 / 06:19
4

Suponho que a "linguagem" oficial de scripts do Windows seja (e tenha sido desde o Win95) Windows Script Host .

Tecnicamente, WSH não é uma linguagem em si, mas em vez disso, um ambiente (não uma GUI) que expõe as interfaces COM para permitir que você use (quase) qualquer script linguagem que você quer, para fazer coisas do sistema operacional, até mesmo coisas que não têm nenhuma maneira nativa embutida na linguagem (por exemplo, Ruby não tem uma maneira interna de logar no Windows ou TCL / TK ).

Você pode ter visto alguns arquivos WSF que podem incluir vários idiomas em um arquivo, mas geralmente scripts WSH são escritos em um idioma e distribuídos com uma extensão correspondente à versão de script desse idioma (por exemplo, scripts VBS para VisualBasic, PYS para PythonScript, etc.)

    
por 25.05.2011 / 15:16
4

Eu diria AutoIt, ele fornece desenvolvimento muito rápido e fácil no Windows e é muito acoplado a ele. Isso significa que as tarefas que geralmente usam códigos em outras linguagens podem ser feitas literalmente em uma linha em autoit. Recursos como compilação direta para exe também são muito úteis.

    
por 25.05.2011 / 16:47
2

As outras linguagens apontadas nesta questão (VbScript, PowerShell, Batch) são muito populares e suportadas. Se você já conhece uma linguagem de script e se sente confortável - por qualquer meio, vá com isso.

Se você está prestes a investir em um novo idioma, sugiro dois idiomas para você, depende do trabalho que você está tentando fazer:

JavaScript (via WSH) - use JavaScript se você quiser usar vários objetos de automação, instanciando-os e chamando em seu modelo de objeto. Você pode criar um objeto de automação para praticamente tudo, do servidor Exchange ao WMI para documentos do Office. Existe um suporte de depuração com o Visual Studio (com o argumento / x). Além disso, um investimento em JavaScript será útil em HTML.

Perl - use Perl se você puder lançar outros programas, manipular sua saída, executar expressões regulares. Embora pareça que esta linguagem está atualmente em declínio, ela ainda é muito popular, muito bem suportada por uma grande linguagem da comunidade. Você também deve considerar essa linguagem para se comunicar com outros serviços (não necessariamente com o Windows), como o JIRA na empresa, ou o EC2 na Amazon. A depuração é suportada no eclipse com EPIC, que também é um bom ambiente IDE (coloração de sintaxe, etc.). Existem módulos no CPAN para tudo. O conhecimento em Perl será útil quando for necessário fazer automação em máquinas que não sejam Windows.

    
por 25.05.2011 / 22:24
1

Nos primeiros dias, havia o VBScript seguido pelo Batch, no ambiente corporativo com o Windows 7 puro e o Server 2008 R2, a nova linguagem de script Powershell está chamando muita atenção.

    
por 25.05.2011 / 22:23
1

Eu recomendo o Perl, se você estiver escrevendo alguns scripts Perl. As pessoas com quem trabalho com sucesso usam e recomendam o Script CLR (um pouco antigo) e para a interação da Web com scripts, iMacros

    
por 25.05.2011 / 23:01
1

Pode ser quase tudo, dependendo do que você tenta automatizar. Ele irá variar de arquivos em lote e PowerShell para autohotkey e Selenium (se você precisar automatizar algumas tarefas relacionadas à GUI).

Normalmente, não é um problema aprender um, se você precisar adicionar algumas modificações ou apoiar scripts já escritos. Se você precisa desenvolver algo novo - escolha a linguagem / maneira com base nos requisitos e o que você já conhece.

    
por 26.05.2011 / 12:09