Das Beste von TechEd 2013: Powershell Unplugged

Symbol für die Lesezeit 9 Minute. lesen


Leser unterstützen MSpoweruser. Wir erhalten möglicherweise eine Provision, wenn Sie über unsere Links kaufen. Tooltip-Symbol

Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter

Microsoft macht das meiste aus Sitzungen bei TechEd verfügbar auf Kanal 9, es ist eine großartige Ressource und eine Fülle von Informationen. Ich habe die Sitzungen langsam durchgesehen, und dies ist unsere fortlaufende Serie über die besten TechEd-Vorträge 2013 in New Orleans.

Der angesehene Ingenieur Jeffrey Snover gibt einen guten Überblick über die ersten Schritte mit Powershell. Powershell wird innerhalb von Microsoft immer wichtiger, insbesondere wenn Sie stark in Windows Azure einsteigen. Microsoft hat sich entschieden, die Eingabeaufforderung aus Legacy-Gründen teilweise nicht wesentlich zu aktualisieren.

Folgendes ist neu in PowerShell 4.0:

Neue Features in Windows PowerShell

  • Konfiguration des gewünschten Windows PowerShell-Zustands (DSC) ist ein neues Verwaltungssystem in Windows PowerShell 4.0, das die Bereitstellung und Verwaltung von Konfigurationsdaten für Softwaredienste und die Umgebung, in der diese Dienste ausgeführt werden, ermöglicht. Weitere Informationen zu DSC finden Sie unter Erste Schritte mit der Konfiguration des gewünschten Zustands in Windows PowerShell.
  • Speichern-Hilfe können Sie jetzt Hilfe für Module speichern, die auf Remote-Computern installiert sind. Sie können Save-Help verwenden, um die Modulhilfe von einem mit dem Internet verbundenen Client herunterzuladen (auf dem nicht unbedingt alle Module installiert sind, für die Sie Hilfe benötigen), und dann die gespeicherte Hilfe in einen freigegebenen Remoteordner oder einen Remotecomputer zu kopieren das keinen Internetzugang hat.
  • Der Windows PowerShell-Debugger wurde verbessert, um das Debuggen von Windows PowerShell-Workflows sowie von Skripts zu ermöglichen, die auf Remotecomputern ausgeführt werden. Windows PowerShell-Workflows können jetzt auf Skriptebene entweder über die Windows PowerShell-Befehlszeile oder Windows PowerShell ISE debuggt werden. Windows PowerShell-Skripts, einschließlich Skript-Workflows, können jetzt über Remotesitzungen debuggt werden. Remotedebugsitzungen werden über Windows PowerShell-Remotesitzungen beibehalten, die getrennt und später wieder verbunden werden.
  • A Lauf jetzt Parameter für Register-ScheduledJob und Set-ScheduledJob beseitigt die Notwendigkeit, ein sofortiges Startdatum und eine Uhrzeit für Jobs festzulegen, indem Sie die verwenden Auslösen Parameters.
  • Invoke-RestMethod und Aufruf-WebRequest Jetzt können Sie alle Header mithilfe des Headers-Parameters festlegen. Obwohl dieser Parameter schon immer vorhanden war, war er einer von mehreren Parametern für die Web-Cmdlets, die zu Ausnahmen oder Fehlern führten.
  • Get-Modul hat einen neuen Parameter, FullyQualifiedName, vom Typ Modulspezifikation[]dem „Vermischten Geschmack“. Seine Name und Vorname Mit dem Parameter Get-Module können Sie jetzt ein Modul angeben, indem Sie den Namen, die Version und die GUID des Moduls verwenden. Wie zuvor können Sie auch ein Modul angeben, indem Sie nur den Namen verwenden.
  • Die standardmäßige Ausführungsrichtlinieneinstellung in Windows Server 2012 R2 Preview ist RemoteSigniert. Bei Windows 8.1 Preview ändert sich die Standardeinstellung nicht.
  • Ab Windows PowerShell 4.0 wird der Methodenaufruf mithilfe dynamischer Methodennamen unterstützt.
  • Asynchrone Workflow-Aufträge werden nicht mehr gelöscht, wenn das Zeitlimit abgelaufen ist, das durch die angegeben ist PSElapsedTimeoutSec Der allgemeine Workflow-Parameter ist abgelaufen.
  • Ein neuer Parameter, Unendlich wiederholen, wurde hinzugefügt New-JobTrigger und Set-JobTrigger Cmdlets. Dadurch entfällt die Notwendigkeit, a anzugeben TimeSpan.MaxValue Wert für die Wiederholungsdauer Parameter zum wiederholten Ausführen eines geplanten Jobs für einen unbestimmten Zeitraum.
  • A Durchgehen Parameter wurde dem hinzugefügt Enable-JobTrigger und Disable-JobTrigger Cmdlets. Der Passthru-Parameter zeigt alle Objekte an, die von Ihrem Befehl erstellt oder geändert werden.
  • Die Parameternamen zur Angabe einer Arbeitsgruppe in der Computer hinzufügen und Computer entfernen Cmdlets sind jetzt konsistent. Beide Cmdlets verwenden jetzt den Parameter Arbeitsgruppenname.
  • Ein neuer gemeinsamer Parameter, PipelineVariable, wurde hinzugefügt. Mit PipelineVariable können Sie die Ergebnisse eines über Pipe geleiteten Befehls (oder eines Teils eines über Pipe geleiteten Befehls) als Variable speichern, die durch den Rest der Pipeline geleitet werden kann.
  • Mit Windows PowerShell können Sie jetzt neue Schlüsselwörter hinzufügen.
  • Das Filtern von Sammlungen mithilfe einer Methodensyntax wird jetzt unterstützt.
  • Das Get-Prozess Cmdlet hat einen neuen Switch-Parameter, Benutzername einschließen.
  • Ein neues Cmdlet, Get-FileHash, das Informationen über Datei-Hashes erhält, wurde hinzugefügt.
  • Wenn in Windows PowerShell 4.0 ein Modul die DefaultCommandPrefix Schlüssel in seinem Manifest oder wenn der Benutzer ein Modul mit importiert Vorsilbe Parameter, der Exportierte Befehle -Eigenschaft des Moduls zeigt die Befehle im Modul mit dem Präfix an. Wenn Sie die Befehle mit der modulqualifizierten Syntax ModuleNameCommandName ausführen, müssen die Befehlsnamen das Präfix enthalten.
  • Der Wert der $PSVersionTable.PSVersion wurde auf 4.0 aktualisiert.

Neue Features in Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE unterstützt sowohl das Windows PowerShell-Workflow-Debugging als auch das Remote-Skriptdebugging.
  • IntelliSense-Unterstützung wurde für Windows PowerShell Desired State Configuration-Anbieter und -Konfigurationen hinzugefügt.

Neue Features im Windows PowerShell-Workflow

  • Unterstützung wurde für eine neue hinzugefügt PipelineVariable gemeinsamer Parameter im Zusammenhang mit iterativen Pipelines, wie sie beispielsweise von System Center Orchestrator verwendet werden; Das heißt, Pipelines, die Befehle einfach von links nach rechts ausführen, im Gegensatz zu einer eingestreuten Ausführung durch Streaming.
  • Die Parameterbindung wurde erheblich verbessert, um außerhalb von Tab-Vervollständigungsszenarien zu funktionieren, z. B. mit Befehlen, die im aktuellen Runspace nicht vorhanden sind.
  • Dem Windows PowerShell-Workflow wurde Unterstützung für benutzerdefinierte Containeraktivitäten hinzugefügt. Wenn ein Aktivitätsparameter vom Typ ist Aktivität, Aktivität[]– oder eine generische Sammlung von Aktivitäten ist – und der Benutzer einen Skriptblock als Argument angegeben hat, konvertiert der Windows PowerShell-Workflow den Skriptblock in XAML, wie bei der normalen Windows PowerShell-Skript-zu-Workflow-Kompilierung.
  • Nach einem Absturz verbindet sich Windows PowerShell Workflow automatisch wieder mit verwalteten Knoten.
  • Sie können jetzt drosseln Foreach-Parallel Aktivitätsanweisungen mithilfe von ThrottleLimit Eigentum.
  • Das Fehleraktion gemeinsamer Parameter hat einen neuen gültigen Wert, Aussetzen, also ausschließlich für Workflows.
  • Ein Workflow-Endpunkt wird jetzt automatisch geschlossen, wenn keine aktiven Sitzungen, keine laufenden Jobs und keine ausstehenden Jobs vorhanden sind. Diese Funktion schont Ressourcen auf dem Computer, der als Workflow-Server fungiert, wenn die Bedingungen für das automatische Schließen erfüllt sind.

Neue Features in Windows PowerShell-Webdiensten

  • Wenn ein Fehler in Windows PowerShell-Webdiensten (PSWS, auch Verwaltungs-OData-IIS-Erweiterung genannt) auftritt, während ein Cmdlet ausgeführt wird, werden ausführlichere Fehlermeldungen an den Aufrufer zurückgegeben. Außerdem folgen Fehlercodes Richtlinien für Fehlercodes der Windows Azure-REST-API.
  • Ein Endpunkt kann jetzt die API-Version definieren und die Verwendung einer bestimmten API-Version erzwingen. Wann immer Versionskonflikte zwischen Client und Server auftreten, werden sowohl dem Client als auch dem Server Fehler angezeigt.
  • Die Verwaltung des Dispatch-Schemas wurde vereinfacht, indem automatisch Werte für alle fehlenden Felder im Schema generiert werden. Die Generierung erfolgt als hilfreicher Ausgangspunkt auch dann, wenn das Dispatch-Schema nicht existiert.
  • Die Typbehandlung in PSWS wurde verbessert, um Typen zu unterstützen, die einen anderen Konstruktor als den Standardkonstruktor verwenden, indem sie sich ähnlich verhalten wie die PSTypeConverter in Windows PowerShell. Dadurch können Sie komplexe Typen mit PSWS verwenden.
  • PSWS ermöglicht jetzt das Erweitern einer zugeordneten Instanz, während eine Abfrage ausgeführt wird. Bei größeren binären Inhalten (wie Bildern, Audio oder Video) sind die Übertragungskosten erheblich, und es ist besser, binäre Daten ohne Codierung zu übertragen. PSWS verwendet benannte Ressourcenströme für die Übertragung ohne Codierung. Der benannte Ressourcenstrom ist eine Eigenschaft einer Entität der Edm.Stream Typ. Jeder benannte Ressourcenstrom hat einen separaten URI für GET- oder UPDATE-Operationen.
  • OData-Aktionen bieten jetzt einen Mechanismus zum Aufrufen von Nicht-CRUD-Methoden (Erstellen, Lesen, Aktualisieren und Löschen) für eine Ressource. Sie können eine Aktion aufrufen, indem Sie eine HTTP-POST-Anforderung an den URI senden, der für die Aktion definiert ist. Die Parameter für die Aktion werden im Hauptteil der POST-Anforderung definiert.
  • Um den Richtlinien von Windows Azure zu entsprechen, sollten alle URLs vereinfacht werden. Eine Änderung enthalten in Schlüssel als Segment ermöglicht die Darstellung einzelner Tasten als Segmente. Beachten Sie, dass Verweise, die mehrere Schlüsselwerte verwenden, wie zuvor durch Kommas getrennte Werte in Klammern notieren müssen.
  • Vor dieser Version von PSWS bestand die einzige Möglichkeit zum Ausführen von Erstellungs-, Aktualisierungs- oder Löschvorgängen darin, Post, Put oder Delete für eine Ressource der obersten Ebene aufzurufen. Neu in dieser Version von PSWS ermöglichen Contained Resource-Operationen Benutzern, die gleichen Ergebnisse zu erzielen, während sie weniger direkt auf die gleiche Ressource zugreifen und so vorgehen, als ob diese Ressourcen enthalten wären.

Neue Features in Windows PowerShell Web Access

  • Sie können vorhandene Sitzungen in der webbasierten Windows PowerShell Web Access-Konsole trennen und erneut verbinden. EIN Speichern Mit der Schaltfläche in der webbasierten Konsole können Sie eine Sitzung trennen, ohne sie zu löschen, und sich ein anderes Mal wieder mit der Sitzung verbinden.
  • Standardparameter können auf der Anmeldeseite angezeigt werden. Um Standardparameter anzuzeigen, konfigurieren Sie Werte für alle Einstellungen, die im angezeigt werden Optionale Verbindungseinstellungen Bereich der Anmeldeseite in einer Datei namens web.config. Sie können die web.config -Datei, um alle optionalen Verbindungseinstellungen mit Ausnahme eines zweiten oder alternativen Satzes von Anmeldeinformationen zu konfigurieren.
  • In Windows Server 2012 R2 Preview können Sie Autorisierungsregeln für Windows PowerShell Web Access remote verwalten. Das Add-PswaAuthorizationRule und Test-PswaAuthorizationRule Cmdlets enthalten jetzt einen Credential-Parameter, mit dem Administratoren Autorisierungsregeln von einem Remotecomputer oder in einer Windows PowerShell Web Access-Sitzung verwalten können.
  • Sie können jetzt mehrere Windows PowerShell Web Access-Sitzungen in einer einzigen Browsersitzung haben, indem Sie für jede Sitzung eine neue Browserregisterkarte verwenden. Sie müssen keine neue Browsersitzung mehr öffnen, um eine Verbindung zu einer neuen Sitzung in der webbasierten Windows PowerShell-Konsole herzustellen.

Bemerkenswerte Fehlerbehebungen in Windows PowerShell 4.0

  • Get-Counter kann jetzt Zähler zurückgeben, die in französischen Windows-Editionen ein Apostroph enthalten.
  • Sie können jetzt die anzeigen GetType Methode für deserialisierte Objekte.
  • #Erfordert -Anweisungen ermöglichen es Benutzern jetzt, bei Bedarf Administratorzugriffsrechte anzufordern.
  • Das Import-Csv Cmdlet ignoriert jetzt Leerzeilen.
  • Ein Problem, bei dem Windows PowerShell ISE zu viel Speicher verwendet, wenn Sie eine ausführen Aufruf-WebRequest Befehl wurde behoben.
  • Get-Modul zeigt jetzt Modulversionen in a an Version Spalte.
  • Remove-Item –Recurse entfernt jetzt wie erwartet Elemente aus Unterordnern.
  • A UserName Eigenschaft hinzugefügt wurde Get-Prozess Ausgangsobjekte.
  • Das Invoke-RestMethod Cmdlet gibt jetzt alle verfügbaren Ergebnisse zurück.
  • Mitglied hinzufügen wirkt sich nun auf Hashtabellen aus, auch wenn noch nicht auf die Hashtabellen zugegriffen wurde.
  • Select-Object –Erweitern schlägt nicht mehr fehl oder generiert keine Ausnahme mehr, wenn der Wert der Eigenschaft null oder leer ist.
  • Get-Prozess kann jetzt in einer Pipeline mit anderen Befehlen verwendet werden, die die erhalten Computername Eigentum von Gegenständen.
  • ConvertTo-Json und ConvertFrom-Json kann jetzt Begriffe in doppelten Anführungszeichen akzeptieren, und seine Fehlermeldungen sind jetzt lokalisierbar.
  • Arbeit bekommen gibt jetzt alle abgeschlossenen geplanten Jobs zurück, auch in neuen Sitzungen.
  • Probleme beim Mounten und Unmounten von VHDs mit der Filesystem Anbieter in Windows PowerShell 4.0 wurden behoben. Windows PowerShell kann jetzt neue Laufwerke erkennen, wenn sie in derselben Sitzung bereitgestellt werden.
  • Sie müssen nicht mehr explizit laden Geplanter Job or Arbeitsablauf Module, um mit ihren Jobtypen zu arbeiten.
  • Leistungsverbesserungen wurden am Prozess des Importierens von Workflows vorgenommen, die verschachtelte Workflows definieren; Dieser Vorgang ist jetzt schneller.

Quelle: TechNet

Mehr zu den Themen: Powershell

Hinterlassen Sie uns einen Kommentar

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *