Microsoft Academic Program Von WSH zu MSH Dr. Tobias Weltner Student Technology Conference 2005.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Advertisements

M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
.NET Users Group Karlsruhe Worum gehts? Goodby cmd.exe (ok ok, sie bleibt noch ein bisschen) Die Eingabeaufforderung erhält endlich einen.
Kurt Rosenberg. C# für.NET oder.NET für C# is(C# == C++ && Java)? true : false ; reines C# Ausblick Überblick.
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Windows Server 2003 Managment Eric Hellmich
Zusammenfassung des Kapitels 8
Kurze Einführung in ASP
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Dipl. Inf. (FH) Paul Mizel Compilerbau.NET Compiler / Codegeneratoren / Skriptsprachen.
Java: Dynamische Datentypen
Listen Richard Göbel.
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Projektübung Klimamodellierung André Paul. Vorbesprechung Projektübung Klimamodellierung ( ) – A. Paul.
Dynamische Webseiten Java servlets.
Objektorientierte Programmierung JDK-Klassenbibliothek
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Presenter: Daniel Walzenbach Technologieberater
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Textklassifikation Der Scirus-Classifier. Überblick Komplexes Programm: –Porno-Filter –Extraktion von Namen –Klassifikation aufgrund von Text –Klassifikation.
USE2ANT Die Umstellung von Use Makefiles zu Ant & Junit Von Isaac, Maleen und Marc.
Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH.
Eine Welt jenseits von Fenstern und Mausklicks
Microsoft Office Forms Server
Automated Software Testing
Patrick Schmerlaib. Scriptsprachen: sind Programmiersprachen Verzichten auf Sprachelemente Vorteile: schnelle Erstellung kleiner Programme Flexible Sprache.
Eine kurze Einführung von Boris Smeisser
Martin LöfflerMurat Yilmaz Labor Informationstechnologie.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Seminar Internet Technologien
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
Windows PowerShell { für Administratoren}
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Scripting mit Windows PowerShell
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Praxis der Internet-Programmierung
XML IV: Cocoon 2.
F-Sharp (F#) Eine multiparadigmatische Sprache. Merkmale von F# Multiparadigmatisch.NET-Sprache Skalierbar und effizient Als Forschungsprojekt von Microsoft.
Semesterarbeit SOA CRYSTL-PIM Product Information System
Jan-Cornelius Molnar Student Partner.
© Talend Apache Camel Christian Schneider Sopera GmbH Talend´s Application Integration Division
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Seminar aus Softwareentwicklung
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
Javelin Internet-based parallel computing using Java.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
PowerShell das geniale Allzweck-Werkzeug !
 Präsentation transkript:

Microsoft Academic Program Von WSH zu MSH Dr. Tobias Weltner Student Technology Conference 2005

Microsoft Academic Program Student Technology Conference 2005 Von WSH zu MSH Dr. Tobias Weltner MVP Windows Server / Skriptautomation

Microsoft Academic Program Student Technology Conference 2005 Automation Heute vorhandene Automationslösungen –Shell Skripts (Batch) –Windows Script Host (WSH) Sind wir damit glücklich? –Shell Skripts zu limitiert –WSH-Skripts zu kompliziert –.NET-Integration fehlt beiden

Microsoft Academic Program Student Technology Conference 2005 Automation Shell Skripts –basieren auf vorhandenen Programmen –lassen sich leicht erweitern –einfach (kurze Befehle, schnelle (Miß)Erfolge) –Text-Piping –uneinheitliche Befehle/Syntax –keine Unterstützung für COM oder.NET

Microsoft Academic Program Student Technology Conference 2005 Windows Script Host Strukturierte Sprache (VBScript, JScript) Zugriff auf COM-Komponenten Ansätze von Objektorientiertheit Programmiererfahrung nötig Kein Rahmenwerk (Includes) Keine.NET-Unterstützung

Microsoft Academic Program Student Technology Conference 2005 Microsoft Shell (MSH) Erweiterbare Skriptumgebung Einfache Befehle wie bei Shell Skripts –erweiterbar durch.NET-Klassen COM-Unterstützung wie bei WSH Strukurierte Sprache –KSH, BASH, PERL, RUBY, VMS DCL, AS400 CL Objekt-Piping

Microsoft Academic Program Student Technology Conference 2005 Von Shell Skripts zu MSH NETSTAT –E PING DIR C: $resultat = NETSTAT –E foreach ( $line in $resultat ) { if ( $line -ilike "*unicast*" ) { $line } } $ip = " " ping -n 1 -w 100 $ip | where {grep-string -text $_ - pattern "antwort"} | echo "Online"

Microsoft Academic Program Student Technology Conference 2005 Von Shell Skripts zu MSH Dir *.vbs Dir *.vbs | foreach {type $_} Dir *.vbs | grep-string -pattern "isNumeric" Dir *.vbs | where {grep-string $_ -pattern "isNumeric"} Dir *.vbs | where {grep-string $_ -pattern "isNumeric"} | foreach {type $_ } Cd HKCU:\Software Dir Md MSHTest Del MSHTest

Microsoft Academic Program Student Technology Conference 2005 Von Shell Skripts zu MSH Dir HKLM:\SOFTWARE\*\Cryptography Dir HKCU:\ Dir -recurse Dir HKCU:\ -recurse | where {$_.childname -ilike "*SYS*"} Dir $env:path.split(";") *.exe |group name |where {$_.count -gt 1} Dir Env: Dir Variable: Dir Function:

Microsoft Academic Program Student Technology Conference 2005 Zwischenbilanz Variablen –$a =... Objekt-Piping –dir | where... | grep-string... reichhaltiger Befehlsschatz einheitliche Namensräume –Dateisystem, Registry, Umgebungsvars...

Microsoft Academic Program Student Technology Conference 2005 Vom WSH zur MSH Größte Stärke des WSH: COM-Integration VBScript kann fremde DLLs verwenden Set objnet = CreateObject("WScript.Network") objnet.MapNetworkDrive "G:", "\\ \c$" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = true objIE.Navigate "

Microsoft Academic Program Student Technology Conference 2005 Vom WSH zur MSH $objnet = new-object -activex "WScript.Network" $objnet.MapNetworkdrive("X:", "\\ \c$") explorer x: $objnet.RemoveNetworkDrive("X:") $objie = new-object -activex "InternetExplorer.Application" $objie.visible = 1 $objie.navigate("

Microsoft Academic Program Student Technology Conference 2005 Vom WSH zur MSH WMI-Integration Set objWMI = GetObject("winmgmts:") Set objAll = objWMI.InstancesOf("Win32_Process") For Each objProcess In objAll WScript.Echo objProcess.GetObjectText_ Next

Microsoft Academic Program Student Technology Conference 2005 Vom WSH zur MSH $a = get-wmiobject win32_process $a = get-wmiobject win32_process -filter "name like '%iex%'" $a | out-grid

Microsoft Academic Program Student Technology Conference 2005 Vom WSH zum MSH $d= new-object System.DateTime $d= new-object System.Web.Services.Discovery.DiscoveryDocument -file C:\WINDOWS\Microsoft.NET\Framework\v \Syst em.Web.Services.dll

Microsoft Academic Program Student Technology Conference 2005 Zwischenbilanz COM-Objekte –werden von MSH voll unterstützt.NET –Zugriff auf beliebige Datentypen –Zugriff auf.NET-Klassen

Microsoft Academic Program Student Technology Conference 2005 Commandlets - die MSH-Befehle bestehen aus einem Verb-Substantiv –grep-string, new-item, get-help Alias-Namen erleichtern den Umgang –Dir, Cd, Md, Help –Dir Alias:\Cd –set-alias Hilfmir get-help –set-alias edit notepad.exe

Microsoft Academic Program Student Technology Conference 2005 Commandlets Commandlets sind.NET-Klassen –DLLs, keine EXE –Provider bieten einheitliche Frameworks Dateisystem, Registry, Active Directory... –Pipelines bestehen aus Commandlets, die strukturierte Objekte austauschen –Extended Type System (ETS) kümmert sich um die Interfaces für Piping

Microsoft Academic Program Student Technology Conference 2005 Commandlets CmdletDeclarationAttribute –Verb, Substantiv using System.Management.Automation; [CmdletDeclarationAttribute("Invoke", "Test")] class InvokeTest : Cmdlet { implementation }

Microsoft Academic Program Student Technology Conference 2005 Commandlets Klasse definiert 3 virtuelle Methoden class InvokeTest : Cmdlet { … public override void StartProcessing(); public override void ProcessRecord(); public override void EndProcessing(); … }

Microsoft Academic Program Student Technology Conference 2005 Commandlets public class InvokeTest : Cmdlet { private string message; [ParsingPromptString("Enter a string to echo: " )] [ParsingParameterMapping(0)] [ParsingMandatoryParameter] public string Message { get { return message; } set { message = value; } } public override void ProcessRecord() { WriteObject( message ); }

Microsoft Academic Program Student Technology Conference 2005 Commandlets Verb-Noun.cmdlet und zugehörige DLL in Ordner speichern, der in %MSHCOMMANDPATH% liegt MSH erkennt Commandlets beim Start Microsoft.Samples.Management.Automation.InvokeHelloW orld HelloWorld.dll HelloWorld, Version= , Culture=neutral, PublicKeyToken=null HelloWorld.dll-Help.xml

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten get-command get-command *out* get-command -noun clipboard get-command -verb out get-help out-grid get-help foreach $a = get-item c:\test.txt $a | format-list $a | out-grid $a | format-list * $a | out-html

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten $a | get-member $a | get-member -m $a.getHashCode $a.getHashCode() $a.set_CreationTime(" ") $a.copyto("c:\test.bak") new-item c:\prozesse.txt -type file set-content c:\prozesse.txt -value $(get-process) $i=0; foreach ($line in $(get-content c:\prozesse.txt)) {"{0}: {1}"-f $i, $Line; $i+=1}

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten $f = [System.IO.File].OpenText("c:\prozesse.txt") for (;;) {$line = $f.ReadLine() if ($line -eq $()) {break } write-host $line } $f.Close()

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten get-process | export-xml c:\prozesse.xml $prozesse = import-xml c:\prozesse.xml grep-string "default" "c:\boot.ini" get-uri | split-string | split-string -pattern ">" | grep-string -pattern "href" | sort line.length | table line

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten $getid = { foreach ( $p in $input ) { $p.Id } } get-process | &$getid get-command get-process | format-list * get-process |pick-object ProcessName -expand Modules | out-grid get-process {$_.ProcessName.ToUpper()}; Label= "Name"; Width= 15 = "KB" ;Expression = {($_.WorkingSet )/1024}; Format = "{0,15} KB" } –auto

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten $prozesse = get-process $prozesse | where {$_.hasExited -eq 1} | out-grid get-process | where { $_.processname -ieq "iexplore" } | foreach { $_.Kill() } get-process | where { $_.processname -ilike "*iexplore*" } | sort-object -p cpu | pick-tail 1 | foreach { $_.Kill() } ps | out-chart processname,workingset

Microsoft Academic Program Student Technology Conference 2005 Mit Commandlets arbeiten get-service Alerter | get-member -m $service = get-service Alerter $service.Stop get-eventlog -logname system | group-object username get-eventlog -logname system | pick-tail 10 get-eventlog -logname system | pick-head 10 | pick- object -p source get-command -verb get

Microsoft Academic Program Student Technology Conference 2005 Zwischenbilanz Neue Commandlets als.NET-Klassen COM-Komponenten Ausführbare Programme (.EXE,.COM) Skripts (.BAT,.VBS,.JS,.WS, etc.) integrierte Funktionen MSH-Skripts (.MSH)

Microsoft Academic Program Student Technology Conference 2005 MSH-Skripts und Funktionen function addnums { $local:result = 0 foreach ( $local:a in $args ) { $result += $a } $result }

Microsoft Academic Program Student Technology Conference 2005 MSH-Skripts und Funktionen $phrase = $args[0]; $wd = new-object -activex "word.application"; $p = pwd; if ($args.length > 1) { $docs = $args[1]; } else { $docs = "*.doc"; } foreach ($a in $(get-childitem $docs -name)) { $doc = $wd.documents.open("$p\$a"); if ($doc.content.find.execute("$phrase")) { write-host "Wort" $phrase "gefunden in" $a $file = get-item $p\$a Write-host $file.length "Bytes. Zuletzt geändert am" $file.LastWriteTime } $doc.close(); }

Microsoft Academic Program Student Technology Conference 2005 MSH - Fazit Einfacher Umstieg von Shell/WSH –COM-Objektmodelle und externe Tools bleiben erhalten Sehr dichte und machtvolle Sprache –anpassbar durch Aliase –erweiterbar durch.NET-Klassen Schnelle Resultate –Objekt-Piping

Microsoft Academic Program Student Technology Conference 2005 MSH - Fazit Wann? –geplant für Longhorn –wird es auch für ältere Windows-Plattformen geben –Beta-Test läuft - am besten selbst mitmachen!

Microsoft Academic Program Student Technology Conference 2005 MSH Testversion ausprobieren Betaplace besuchen – mshPDCBeta-ID: mshPDC benötigt.NET Framework 2.0 %MSHCOMMANDPATH% erweitern

Microsoft Academic Program Student Technology Conference 2005 Questions and Answers ? ? ? ? ?

Microsoft Academic Program Student Technology Conference 2005 Mehr Informationen us/wmisdk/wmi/wmi_classes.asp 8/1/38198a72-294d-46c3-93ba- faee5cf85d00/ARC334.ppt ?PostID=25531#25531