Monad : le script de la démo...
Bonsoir,
Pour faire suite à la demande de plusieurs personnes à l'issue de la démonstration Monad de ce jour, voici la liste des commandes passée lors de la démonstration :
CMD.exe et les shells UNIX manipulent fondamentalement du texte.
Un ensemble de commandes intégrées (built-in) assez réduit d’où de nombreux utilitaires complémentaires.
Avec MONAD,
·
On manipule des objets .Net
§
Plus puissant
·
Un nombre de commandes intégrées bcp plus grand (128)
§
Plus homogène (un seul parser, des paramètres communs)
1°) Les bases
1.1°) un modèle de commande verbe-nom
get-command
les commandes intégrées s’appellent des cmdlet (des « petites commandes »)
get-command –verb set
get-command set*
write-host bonjour
1.2°) les expressions
9 * 3
"Ceci" + " cela"
1.3°) les variables
$a = "Essai"
$a.length+10
1.4°) Tout mélangé
(get-date).day + 2
(get-command).count
2°) Les aspects plus sophistiqués
2.1°) Les types
$a = [int] " 4 "
$a.gettype()
$d = [datetime]"17/03/2006"
$d.gettype()
$d.adddays (35)
$b = [xml] "<test><a>valeur</a></test>"
$b.test
$b.test.a
On a aussi des tableaux, tables de hachage, des expressions régulières…
2.2°) le pipeline de données |
get-command set* | sort commandtype
get-help | more
get-help more
get-command more (what ?)
2.2°) les filtres
get-process
get-process | where { $_.processName -eq "sidebar"}
get-process | where { $_.processName -eq "sidebar"} | format-table Processname,id –auto
get-process | where { $_.processName -eq "sidebar"} | stop-process –whatif
3°) l’intégration avec le système
3.1°) les espaces de nommage
Get-drive
Get-provider
cd env:
Dir
Cd alias:
un alias pour set-location
Dir
Cd hkcu:
3.2°) Autres :
Get-eventlog –list
Get-eventlog system | more
get-wmiobject -list | more
get-wmiobject -list | sort __CLASS | format-table __CLASS
get-wmiobject Win32_PerfRawData_PerfOS_Memory
get-wmiobject win32_computersystem
netstat -e
(netstat -e)[6]
(netstat -e) | where { $_ -like "*packets*" }
$ie = new-object –com internetexplorer.application
$ie.navigate2("
http://blogs.technet.com/bgc06")
Script : dialog.msh
[reflection.assembly]::LoadwithPartialName("System.Windows.Forms");
$form= new-object system.windows.forms.form
$form.topmost = $true
$button= new-object system.windows.forms.button
$button.dock = "Fill"
$button.text = "BGC "+ (get-date)
$button.add_Click({$button.Text = "BGC "+ (get-date)})
$form.Controls.add($button)
$form.showdialog()