Contenu connexe Similaire à PowerShell: (Don't Fear) The Console - Bruno Lopes Similaire à PowerShell: (Don't Fear) The Console - Bruno Lopes (20) Plus de Comunidade NetPonto Plus de Comunidade NetPonto (20) PowerShell: (Don't Fear) The Console - Bruno Lopes3. Bruno Lopes
Scheme
Nasci VB Python
C C#
1980 1985 1990 1995 2000 2005 2010
Primeiro PC Sysadmin/Devel
Spectrum weListen
Sysadmin/Devel
IST
Sysadmin/Devel
Premium minds
4. Agenda
• What and how
• Variables, loops, functions, pipelines, cmdlets
• Gotchas and Tips
• Extensibility
• Extensions
9. Feito para uso interactivo
• Case InSensiTive
• Introspeção
–get-member
–get-help
–get-command
10. Administração sem “espigas”
• Muitos servers têm bindings de powershell:
– IIS
– Sql Server
– BizTalk
– Sharepoint
• Se não tiver, finge-se:
– Get-WmiObject
– Cat <log> | Grep <pattern> | Do-Magic
11. Para quê?
Automatizar Prototipar
Explorar
13. Create a cmdlet
public class DbUpdateBase : PSCmdlet
{
protected override void ProcessRecord()
{
// DO WORK
}
[Parameter(Mandatory = false)]
public string ConfigurationFile { get; set; }
[Parameter(Mandatory = true, Position = 0)]
public string DeltasDirectory { get; set; }
[Parameter(Mandatory = false, HelpMessage = "Defaults to mssql")]
public string DatabaseType
{
get { return _databaseType; }
set { _databaseType = value; }
}
}
14. Creating a pipeline function
function name {
param($a)
begin { # initialization }
process { #work on param $a }
end { # clean-up }
}
Notes de l'éditeur Eu.Mas antes de mais, show of hands.... \\ isusedinpaths, so escape charis `<,> ! ? are usedinscripting, aliases, pipes, sobooleanoperations/comparisons are:andnotgtlt AutomatizarBuildsInstalaçõesProcessos recorrentesPrototiparExplorarDirectoriasBibliotecasSistemas Aqui se calhar abro o visual studio (?) Permite a uma funcção operar sobre cada item em vez de em bulk Modulos são conjuntos de funcionalidadesProviders integram compowershell (para fornecer por ex: iis://) Entre outras coisas, tem :pwd | write-clipboardque é diferente de pwd | out-clipboard