Das Ausführen von Befehlen über das Netzwerk

Ähnliche Dokumente
Windows PowerShell 3.0 für Einsteiger 1

Datenschutzerklärung. Published: Author: 42media services GmbH

Ein Arbeitstag mit Microsoft Dynamics NAV 2013 und Dynamics NAV Preview Version 8.

Galileo Desktop Benutzerhandbuch Version 1.02

Anleitung Installation Update Kiosk Version auf

Remotely Anywhere Verwendung von Zertifikaten Schritt für Schritt Anleitung zur Implementation von Zertifikaten in Remotely Anywhere

Leitfaden Kiosk Version

Windows PowerShell 3.0 für Einsteiger 3. Windows PowerShell zur Serveradministration

Benutzer- und Referenzhandbuch

Windows PowerShell 3.0 für Einsteiger 3. Windows PowerShell zur Serveradministration

SnagIt Movable Type Output By TechSmith Corporation

SnagIt LiveJournal Output By TechSmith Corporation

isaperion Version 3.3

Benutzer- und Referenzhandbuch

english anytime german Version

Disclaimer SAP SE or an SAP affiliate company. All rights reserved. Public

Kontakt zu Kunden. Kontakt durch Vertrieb, Marketing, Service und andere Aktivitäten.

Release Notes BRICKware Copyright 23. March 2010 Funkwerk Enterprise Communications GmbH Version 1.0

Silvan Geser Solution Specialist Unified Communications Microsoft Schweiz GmbH

Benutzer- und Referenzhandbuch

-Migration ganz einfach von POP3/IMAP4 zu Exchange Online. Christoph Bollig, Technologieberater Office 365

GALILEO Quick Reference Galileo Sign-on Keyword

Life Cycle Management

Wie Programm Neighborhood Agent mit Secure Gateway konfigurieren. von Stefan Müri

Release Notes SAPERION Version 7.1 SP 5

Windows PowerShell 3.0 für Einsteiger 1

Mitarbeitergerechte Prozessdokumentation

Best Practice - ODBC

User Manual Bedienungsanleitung. snom Wireless Headset Adapter snom Schnurlos-Headset-Adapter. English. Deutsch

ACDEFG. Hotmetal Borders

C1+C2: Online-Umfrage Ihre Analytics Architektur heute und morgen?

Seit 25 Jahren ist PBS ein führender Anbieter von Ergänzungslösungen für die SAP-Datenarchivierung und das Information Lifecycle Management.

Cloud for Customer Learning Resources. Customer

Silverlab pic2kiosk Manager

estos UCServer Multiline TAPI Driver

Ermittlung und Berechnung von Schadendreiecken mit HANA Live und R-Integration

DMS für besondere Anwendungen - Hochtemperatur-DMS

VDA 4939 Formulare Version 2

Einfache Koexistenz von lokaler Exchange Server-Umgebung mit Exchange Online. Christoph Bollig, Technologieberater Office 365

IBM Demokratischere Haushalte, bessere Steuerung, fundierte Entscheidungen? Was leisten das neue kommunale Finanzwesen und Business Intelligence?

Release Notes SAPERION Version 7.1 SP 6

ALL1688PC. Benutzerhandbuch. Passiver Powerline Verbindung (Home Plug Gerät) Phasenkoppler (Hutschienen Version)

Erste Übungen mit Windows PowerShell-Objekten

Global Transport Label - General Motors -

azure-web-sites #azureweb-sites

Mindjet On-Premise Release Notes, Version 4.0

In wenigen Klicks zu einem Kataster - mit AutoCAD Map 3D

SAP Business Planning and Consolidation Version 10.1 for NetWeaver. Platform Information, Support Pack Dates and Maintenance Dates.

Configuration of SAML Holder-of-Key Token for the ABAP Web Service Provider

Best Practice - Core Server Konfiguration für die Archivierung

Sirrix AG. security technologies. Browser in the Box (BitBox) - Kurzanleitung zur Installation unter Linux

LifeSize SDI Adapter Installationshandbuch

Pflichtenheft für Produkt

DSGVO: ILM-konforme Archivierung mit Retention Management. Ulf Steiner, PBS Software GmbH

Pflichtfeld Liste SCHOTT ebilling. Version 1.1,

Web Dynpro Java. SAP NetWeaver CE 7.1 1

Benutzer- und Referenzhandbuch

WINRM WINRS. Für eine funktionierende Remote Verwaltung muss WINRM (Windows Remote Management) erst einmal konfiguriert werden.

Amazon WorkSpaces Application Manager. Benutzerhandbuch

Industrie 4.0 SAP 3D Visual Enterprise Quality Management App

WIE MELDEN SIE SICH AN SAP AN? SAP NETWEAVER SINGLE SIGN-ON SAP SECURITY UND SICHERES SINGLE SIGN-ON MARKUS NÜSSELER-POLKE

Office Communicator 2007 Einführung Neufunktionen

Deploying von USB. Deploying von einer Bootable CD oder USB Stick

Inhaltsverzeichnis 1 Neuerungen in Aeneis Web-Modeller Neue Funktionen SmartEdit Neue Funktionen SmartModel...

Quick Reference Guide Schnellstart Anleitung

Windows 8 bereitstellen das Microsoft Deployment Toolkit. Heike Ritter

Perceptive Document Composition

Betriebliches Mobilitätsmanagement bei SAP DECOMM Konferenz, Stuttgart

Dolphin TM 6500 Mobile Computer. Kurzanleitung

Samuël De Wilde Senior FI/CO Expertum April 20, 2016

Private Cloud Management in der Praxis

Password Management. Password Management Guide MF-POS 8

netcim Boot-Stick erstellen Version 1.0 ( ) Netree AG CH-4658 Däniken

Dreiphasenumsteller Typ KDV Threephase Tap Changer Type KDV

Mail encryption Gateway

Proxmox Mail Gateway Spam Quarantäne Benutzerhandbuch

5 / 8 Port Gigabit Ethernet Switches optional mit SFP-Ports

HiPath Cordless IP Einrichtung SIRA-Zugang. Administrator Documentation A31003-C1000-M100-2-A9

SAPERION Web Client Portal Integration

SAP User Experience Strategie & Design Services

Studien zum dänischen Strafrecht

Jörg Hüner Senior Consultant. Kontakt-Information:

com.tom PORTAL Registrierung

Release Notes SAPERION Version 7.1 SP 4

Microsoft Dynamics NAV Finanzen, Einkauf & Verkauf 1

Symantec Backup Exec.cloud

Payroll Control Center

Poetica. Satzanweisungen. zusätzli e Figuren zum Standard -zei ensatz ACDEFG. für PostScript- und TrueType-Fonts Macintosh und MS-Windows

Windows Firewall Ausnahmen. Windows Firewall Ausnahmen für Docusnap konfigurieren

RESSOURCENKIT NEUKUNDENGEWINNUNG ISV MARKETING-LEITFADEN. Neukundengewinnung ISV

Smart Design Eigene Applikationen effizient und einfach entwickeln

Vorplanung mit Variantenkonfiguration Vorplanungsstückliste versus merkmalsbasierte Vorplanung

The projectivity of the moduli space of stable curves. I: Preliminaries on "det"...

Benutzer- und Referenzhandbuch

Technical Bulletin. Important! Condition. Service. 1 of 3. Trunk Lid Harness, Installing Repair Harness. Please give copies to all your VW Technicians

Der deutsche Föderalismus

COLOR LASERJET ENTERPRISE CM4540 MFP SERIES. Kurzübersicht

Transkript:

Windows PowerShell 3.0 für Einsteiger 2 Windows PowerShell in der Praxis Das Ausführen von Befehlen über das Netzwerk Autor: Frank Koch, Microsoft Deutschland

Information in this document, including URLs and other Internet Web site references, are subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e- mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2011 Microsoft Corporation. All rights reserved. Microsoft is either a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Kapitel 1: Das Ausführen von Befehlen über das Netzwerk Bisher haben wir Windows PowerShell immer nur auf den ausführenden Rechner angewandt. Lediglich bei einigen Beispielen wie get-process oder get-winevent haben Sie den Parameter Computername kennengelernt, der mittels Zugriff über das Netz die Ergebnisse von einem anderen Computer einholte und lokal wieder ausgab. Allerdings hatte diese Methode den Nachteil, dass a) der Parameter nicht für alle Cmdlets existiert und b) der Zugriff nicht über ein Firewall freundliches Protokoll ausgeführt wird. Diese Punkte werden jedoch ab der Windows PowerShell 2.0 adressiert. Die einfachste Art hierzu möchte ich kurz vorstellen, das Cmdlet Invoke-Command. Mittels des Cmdlets Invoke-Command können Sie Windows PowerSHell Befehle oder auch Skripte auf einem anderen Rechner ausführen lassen. Die Ergebnisse (inkl. eventueller Fehlermeldungen) werden dabei zurückgegeben und können weiter verwendet werden. Damit diese Methode funktioniert, müssen die Rechner für das Remoting konfiguriert werden und das PowerShell Skript bzw. der Befehl unter Benutzerrechten laufen, die das Remoting verwenden dürfen (Systemadministratoren). Hierzu muss auf allen Rechnern die Windows Remoteverwaltung 2.0 (für Windows PowerShell 2.0) bzw. die Windows Remoteverwaltung 3.0 (für Windows PowerShell 3.0) installiert und konfiguriert werden. Der Windows PowerShell Hilfetext About_Remote_Requirements listet alle dafür nötige Komponenten und Konfigurationsschritte ausführlich auf. Nachdem Sie die nötigen Komponenten eingerichtet haben, schauen wir uns einige Beispiele an. Möchten Sie alle Systemdienste auf einem Rechner aufgelistet bekommen, verwenden Sie das Cmdlet get-service. Um die Dienste auf einem anderen Rechner aufgelistet zu bekommen, setzen Sie einfach Invoke-Command mit dem Parameter Computername davor. Computername akzeptiert dabei auch eine Liste von Namen oder IP Adressen. Sollten Sie keinen zweiten Rechner zum Testen haben, können Sie als Computernamen auch einfach localhost als Synonym für Ihren eigentlichen Rechner verwenden: Invoke-command computername localhost scriptblock { get-service } Die Angabe des Parameter -Scriptblock ist dabei optional, die geschweiften Klammern nicht. Erhalten Sie statt einer Liste aller Systemdienste eine Fehlermeldung, so ist die Windows Remoteverwaltung wahrscheinlich nicht richtig konfiguriert oder Ihr Account hat keine Administratorrechte: Abbildung 1: Fehlermeldung bei fehlender Windows Remoteverwaltung

Glücklicherweise zeigt die Fehlermeldung auch die Schritte zum Lösen des Problems. Suchen Sie zunächst nach dem Windows Remoteveraltungsdienst WinRM: Get-service *winrm* In diesem Fall ist der Dienst gestoppt und muss daher erst gestartet und konfiguriert werden. Wie in der Fehlermeldung beschreiben übernimmt der Befehl winrm quickconfig die hierfür nötigen Schritte. Hierzu muss die Windows PowerShell jedoch mit administrativen Rechten laufen. Abbildung 2: Konfiguration der Windows remoteverwaltungsdienste

Anschließend können Sie das Beispiel mit den Systemdiensten erneut ausführen. Sollten Sie folgende Fehlermeldung erhalten, läuft Ihre Windows PowerShell Session nicht mit lokalen Administratorenrechten, die für die Verwendung der Windows Remoteverwaltung nötig sind: Abbildung 3: Fehlende Administratorenrechte der Windows PowerShell Session Starten Sie in diesem Fall einfach die PowerShell mit administrativen Rechten und wiederholen Sie das Beispiel. Neben Computername kennt das Cmdlet Invoke-Command noch weitere hilfreiche Parameter. Die wichtigsten hierzu sind zum einem credential, welches das Anmelden am Zielsystem mit einer bestimmter Benutzerkennung erlaubt sowie FilePath welcher das Skript beschreibt, das auf den Zielsystemen ausgeführt werden soll. Während die Nutzung des Credential Parameters selbsterklärend sein sollte, schauen wir uns ein Beispiel zum -filepath Parameter kurz an: Invoke-Command computername S1, S2, S3 filepath c:\test\sample.ps1 Das Beispiel führt das lokale Skript Sample.ps1 aus dem lokalen Order C:\Test auf den Rechnern S1, S2 und S3 aus. Dazu muss das Skript nicht auf die jeweiligen Rechner kopiert werden. Die Ergebnisse werden an den lokalen Rechner zurückgegeben. Manchmal kann es sein, dass Skripte oder Befehle einige Zeit für die Ausführung benötigen. Dazu kann man das Cmdlet Invoke-Command mit dem Parameter AsJob starten. Dies erzeugt ein neues Objekt vom Typ Job, welches die eigentliche Arbeit nun im Hintergrund ausführt. So kann man die Eingabeaufforderung direkt weiterverwenden. Der Parameter AsJob ist dabei gleichbedeutend wie das dafür eigentlich vorgesehene Cmdlet Start-Job. Um an die Ergebnisse der Hintergrundarbeit zu kommen, verwendet man den Befehl receive-job. Das ganze wird einfacher mit einer Übung. F1 Listen Sie alle Systemdienste auf dem System localhost sortiert nach Status und Namen auf. Wie Sie bemerken, dauert es einige Zeit bis zur Ausgabe der Liste. Im nächsten Schritt erstellen wir einen Hintergrundprozess, der das gleiche für uns tut: $MyJob = Invoke-Command computername localhost { get-service } AsJob Wie Sie bemerken sollten, wird dieser Befehl deutlich schneller ausgeführt.

In Wirklichkeit ist der zweite Befehl nicht schneller, sondern wird im Hintergrund weiter ausgeführt. Sie können über die Variable $MyJob jederzeit darauf zugreifen und auch überprüfen, ob der Job noch läuft oder bereits beendet ist. Analysieren Sie einmal das Objekt $Myjob mit get-member, um mehr über das Objekt zu erfahren: Die Eigenschaft State zeigt dabei den Status des Jobs an, z.b. ob er noch läuft oder bereits beendet ist. Mit $MyJob format-list können Sie sich einige Werte zum Objekt anzeigen lassen: Sie sehen hier z.b. direkt das Zielsystem, die ausgeführten Befehle sowie den Jobnamen (Job5). Die eigentlichen Ergebnisse sehen Sie hingegen nicht. Diese müssen Sie über das Cmdlet Receive-Job abrufen, welches als Parameter den gewünschten Job erwartet, in unserem Beispiel also $MyJob.

Abbildung 4: Auswertung des Hintergrundjobs durch das Cmdlet Receive-Job Receive-Job ruft dabei alle Ergebnisse des Hintergrundjobs ab. Bei laufenden Jobs sind dies unter Umständen nur Teilergebnisse. Damit dies nicht zu Problemen führt, werden die Teilergebnisse automatisch gelöscht, so dass bei einer erneuten Abfrage diese nicht ein weiteres Mal zurückgegeben werden. Ist dies jedoch nicht erwünscht, kann receive-job mit dem Parameter keep verwendet werden, so dass die Auftragsergebnisse erhalten bleiben. F2: Werten Sie nun das Ergebnis des Hintergrundjobs aus und lassen Sie sich das Ergebnis anzeigen. Sie sollten eine Liste aller Systemdienste Ihres Systems ähnlich der Abbildung 21 sehen. Lassen Sie sich anschließend nur die ersten 5 und letzten 5 Dienste anzeigen. Sollten Sie zwischenzeitlich alle Auftragsergebnisse versehentlich löschen, starten Sie den Job einfach erneut. Die Arbeit mit Hintergrundprozessen in Windows PowerShell bietet dabei noch viel mehr Funktionen, als hier angedeutet. So kann mittels des Cmdlets Wait-Job explizit auf das Ergebnis eines Jobs gewartet werden, laufende Jobs via stob-job abgebrochen und Jobs mittels remove-job gelöscht werden. Werden. Die PowerSHell Hilfe about_jobs bietet hierzu viele Beispiele und Erklärungen. In Windows PowerSHell 3.0 wurde das Thema dabei noch erweitert. So kennt die PowerShell 3.0 neben Jobs auch Workflows, welche noch komplexere Skripte zulassen und auch nach einem Systemneustart fortgesetzt werden können. Jobs können mit den neuen Cmdlets Suspend-Job und Resume-Job unterbrochen und fortgesetzt werden. Microsoft hat hierzu eine eigene Publikation erstellt, welche auf den Windows PowerShell 3.0 Seiten heruntergeladen werden kann.