Utilizando PowerShell para o acesso a bases de dados SQL

O Windows PowerShell é um prompt de comando muito poderoso. Com ele podemos criar scripts para automatização de tarefas, consumir componentes Microsoft .Net, objetos COM e outras APIs de aplicações Microsoft (como por exemplo Sharepoint, Exchange, Active Diretory, etc).

Devido ao seu uso bastante genérico, sempre surgem diferentes situações para o seu emprego. Gostaria de demonstrar nesse post como é feita a leitura e inclusão de dados em bases de dados SQL via Windows PowerShell.

Leia mais »

Utilização de Impersonation para execução de PowerShell via ASP.Net

Dentre os meus últimos desafios surgiu-me a necessidade de executar um comando PowerShell em um servidor via uma página ASP.Net, mas com a premissa de executar este comando dentro de um contexto seguro, isto é baseado em permissões de usuário distintas daquelas que estão rodando o Application Pool do IIS.

Desta forma, de acordo com as credenciais do usuário logado na aplicação, seria permitido ou não a execução dos comandos via PowerShell. Entretanto, como princípio de segurança, a execução deste comando seria feita sobre um contexto diferente do usuário do Application Pool.

Para tanto, me baseei em dois posts: o primeiro de Antoine Habert (MVP de PowerShell) que ensina como executar comandos PowerShell via páginas ASP.Net (http://devinfra-us.blogspot.com/2011/02/using-powershell-20-from-aspnet-part-1.html) e um segundo post do Microsoft Support que demonstra como implementar Impersonation programaticamente em aplicações ASP.Net (http://support.microsoft.com/kb/306158).

Para a execução deste exemplo será preciso fazer download e instalação do Windows PowerShell 2.0 Software Development Kit (http://http://www.microsoft.com/download/en/details.aspx?id=2560).Leia mais »