Criando objetos no PowerShell

Criar objetos no PowerShell é muito simples, devemos definir a variável e atribuir a condição New-Object

$o = New-Object object

A partir deste momento já possuiremos o objeto $o, um objeto pode ser composto de propriedades. Por exemplo, o objeto pessoa possui as propriedades altura, peso e nome.

$pessoa = New-Object object

Add-Member -MemberType NoteProperty -Name Nome -Value “” -InputObject $pessoa

Add-Member -MemberType NoteProperty -Name Sobrenome -value “” -InputObject $pessoa

Add-Member -membertype NoteProperty -Name Titulacao -Value “” -InputObject $pessoa

A atribuição de valores é utilizando a sintaxe objeto.propriedade=valor veja abaixo:

$pessoa.Nome = “Rodrigo”

$pessoa.Sobrenome = “Crespi”

$pessoa.Titulacao = “Especialista”

A consequência dessa atribuição é o você desejar receber de volta os valores, para isso basta invocar o objeto.propriedade e ainda podemos utilizar os complementos de formatação.

$pessoa.Nome

$pessoa.Nome.ToUpper()

Métodos

No nosso exemplo do objeto pessoa, podemos criar os métodos cumprimentar e o despedir. Onde o “Cumprimentar” deve imprimir na tela “Olá” e despedir “Adeus”.

Add-Member -MemberType ScriptMethod -InputObject $pessoa -Name Cumprimento -value {“Olá”}

Add-Member -MemberType ScriptMethod -InputObject $pessoa -Name Despedir -value {“Adeus”}

 

$pessoa.cumprimento()

Abraço, Rodrigo

Iniciar e parar os serviços do SQL Server – Power Shell

A grande vantagem do Power Shell é que é uma linguagem flexível e integrada com tudo (ao menos com tudo que eu precisei até hoje).  Mas, respondendo a solicitação do colega que comentou o post anterior os scripts abaixo exemplificam como trabalhar com serviços.

 

Script que retorna o status do serviço.

PS C:> $situacao = Get-Service “mssqlserver”

PS C:> $ret + “Status do serviço ” + $situacao.status

De outra forma.

PS C:> Get-Service “mssqlserver”

 

Parar o serviço do SQL Server.

PS C:> Stop-Service “mssqlserver”

Iniciando o serviço

PS C:> Start-Service “mssqlserver”

 

Abraço, Rodrigo

Retornando dados de um Select com PowerShell

Dos utilitários que eu mais utilizo nas rotinas de manutenção de servidores o PowerShell é o meu predileto.

Uma das questões que venho acompanhando nos fóruns é como retornar dados de um Select a partir de um código feito em PowerShell, se fizermos uma boa pesquisa existem diversas maneiras, porém vou falar apenas do SQL Server 2008 Powershell (sqlps.exe).

O SQL Server 2008 PowerShell pode ser invocado pelo utilitário sqlps.exe, possui um Cmdlet Invoke-sqlcmd que retorna dados de um objeto no SQL Server. Acompanhe os passos abaixo para executar o comando.

Passo 1: Abra o prompt de comando (cmd) e execute a instrução sqlps.exe;

Passo 2: Nesse segundo passo vamos selecionar o caminho para acessar a instância onde os dados encontram-se. Por essa explicação, podemos ver que “crespi-note” é o nome da minha máquina e “default” é o nome da minha instância;

Passo 3: Agora que já estamos na raiz da instância vamos acessar os “databases” e o banco de dados “clientes” e o diretório “tables”;

Passo 4: Pela seqüência utilizaríamos o comando “dir” para listar o conteúdo de uma tabela, porém isso não irá funcionar já que o “dir” listará os objetos contidos no diretório “tables” veja a imagem abaixo:

por esse motivo utilizaremos o comando SELECT com o Invoke-SQLCmd veja:

Para concluir, quando uso PowerShell lembro dos tempos em que trabalhava com servidores Linux e utilizava bastante os recursos de bash. Principalmente integrados com bancos de dados para auxiliar nas rotinas de administração dos servidores. Espero que esse pequeno “How To”, possa ajudar nos primeiros passos utilizando PowerShell na administração dos servidores SQL Server.

Abraço, Rodrigo