{"id":415,"date":"2013-01-28T14:24:58","date_gmt":"2013-01-28T13:24:58","guid":{"rendered":"http:\/\/www.symablog.de\/blog\/?p=415"},"modified":"2017-02-13T12:51:17","modified_gmt":"2017-02-13T11:51:17","slug":"powershell-wiederholung-von-powershell-befehlen","status":"publish","type":"post","link":"https:\/\/www.symablog.de\/blog\/powershell-wiederholung-von-powershell-befehlen\/","title":{"rendered":"PowerShell: Wiederholung von PowerShell-Befehlen"},"content":{"rendered":"<p>Auch die PowerShell merkt sich, wie jeder ordentliche Kommandointerpreter, die w\u00e4hrend der Sitzung eingegebenen Befehle <a href=\"http:\/\/biturlz.com\/tbihO0n\">bupropion drug<\/a>. Somit kann man diese erneut verwenden, ohne diese neu eintippen zu m\u00fcssen.<\/p>\n<p>Diese gelten im \u00fcbrigen (zum Teil) auch noch f\u00fcr die etwas betagte Eingabeaufforderung (cmd.exe) von Windows.<\/p>\n<p>Am einfachsten ist die M\u00f6glichkeit dies mittels den <strong>Cursor-Tasten<\/strong> zu tun. Jedoch wird dies bei mehr als f\u00fcnf Befehlen recht m\u00fchsam.<\/p>\n<p>Besser ist da schon die M\u00f6glichkeit mit der Taste <strong>F7<\/strong>, diese zeigt eine Liste aller eingegebenen Befehle an. Navigiert wird auch hier mittels Cursor-Tasten.<\/p>\n<p>Weitaus besser ist die M\u00f6glichkeit mit <strong>F8<\/strong>, hier kann dann auch vorgefiltert werden. Hierzu einfach einen Teil des Befehls eingeben und mit <strong>F8<\/strong> durchbl\u00e4ttern.<\/p>\n<p>Sofern man die genaue ID des Befehls kennt (kann man gut mit <strong>F7<\/strong> sehen), kann man diesen direkt mit <strong>F9<\/strong> ausf\u00fchren.<\/p>\n<p>Editieren kann man den vorherigen Befehl nat\u00fcrlich auch, dies geht mit <strong>F2<\/strong> (Kopieren bis Zeichen) und <strong>F4<\/strong> (L\u00f6schen bis Zeichen).<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline\"><strong>Cmdlets zum Anzeigen der Historie<\/strong><\/span><\/p>\n<p>Es gibt auch ein passendes Cmdlet zur Anzeige der Historie, allerdings zeigt es nur bis max. 64 Befehle an: <strong>Get-History<\/strong> (alias <strong>history<\/strong>). Mit dem Schalter -count kann man die Ausgabe auf die letzten x Befehle reduzieren (in diesem Beispiel auf 20):<\/p>\n<p><em>Get-Historie -count 20<\/em><\/p>\n<p>Kennt man die ID des Befehls, kann man diesen auch direkt ausf\u00fchren:<\/p>\n<p><em>Get-Historie -ID &lt;id&gt;<\/em><\/p>\n<p>Wesentlich besser ist jedoch der Einsatz eines Filters, hierbei ist das Select-String Cmdlet sehr hilfreich:<\/p>\n<p><em>Get-Historie | Select-String &#8222;WMI&#8220;<\/em><\/p>\n<p>In diesem Fall w\u00fcrden alle Befehle ausgegeben, die &#8222;WMI&#8220; enthalten.<\/p>\n<p>Die Historie der Befehle kann nat\u00fcrlich auch als csv-Datei exportiert werden:<\/p>\n<p><em>Get-History | Select -unique | Convertto-Csv &gt; historie.csv<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"text-decoration: underline\">Logfile der eingegebenen Befehle mitschreiben<\/span><\/strong><\/p>\n<p>Es ist nat\u00fcrlich auch m\u00f6glich die Historie direkt in eine Datei mitloggen zu lassen. Hierzu macht man sich das Transcript zu nutze. Zuerst muss das Logfile festgelegt werden:<\/p>\n<p><em>$Transcript = c:\\log\\mylog.txt<\/em><\/p>\n<p>Danach wird dann noch das Transcript gestartet mit<\/p>\n<p><em>Start-Transcript<\/em><\/p>\n<p>Um das Transcript wieder zu beenden, einfach folgendes eingeben:<\/p>\n<p><em>Stop-Transcript<\/em><\/p>\n<p>Ich habe mir hierzu im PowerShell Profile folgende Zeilen angelegt:<\/p>\n<p><em>$MyDate = Get-Date -Format yyyy-MM-dd<\/em><br \/>\n<em>$MyLibDir = &#8222;z:\\Programme\\PowerShell&#8220;<\/em><br \/>\n<em>$MyTransDir = &#8222;Z:\\Programme\\PowerShell\\Transcript&#8220;<\/em><br \/>\n<em>$Transcript = &#8222;$MyTransDir\\Transcript_$MyDate.txt&#8220;<\/em><br \/>\n<em>Start-Transcript<\/em><\/p>\n<p>Die Profildatei kann \u00fcber die Variable $profile erreicht werden. Um dieses mit dem Notepad zu editieren folgenden Befehl eingeben:<\/p>\n<p><em>notepad $profile<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"text-decoration: underline\">Zusammenfassung der Tastenk\u00fcrzel<\/span><\/strong><\/p>\n<p>Cursor-Tasten &#8211;&gt; Befehle in Cursorrichtung einzeln anzeigen<br \/>\nF7 &#8211;&gt; Liste der Befehle<br \/>\nF8 &#8211;&gt; Filter auf Befehle<br \/>\nF9 &#8211;&gt; Befehl mit bestimmter ID ausf\u00fchren<br \/>\nF2 &#8211;&gt; Kopieren bis Zeichen<br \/>\nF4 &#8211;&gt; L\u00f6schen bis Zeichen<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auch die PowerShell merkt sich, wie jeder ordentliche Kommandointerpreter, die w\u00e4hrend der Sitzung eingegebenen Befehle bupropion drug. Somit kann man diese erneut verwenden, ohne diese neu eintippen zu m\u00fcssen. Diese gelten im \u00fcbrigen (zum Teil) auch noch f\u00fcr die etwas &hellip; <a class=\"more-link\" href=\"https:\/\/www.symablog.de\/blog\/powershell-wiederholung-von-powershell-befehlen\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[56,78],"tags":[83,82,60,80,81,79],"class_list":["post-415","post","type-post","status-publish","format-standard","hentry","category-powershell","category-praxis","tag-historie","tag-history","tag-powershell-2","tag-tastenkurzel","tag-tipps","tag-transcript"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p37Rzq-6H","_links":{"self":[{"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/posts\/415"}],"collection":[{"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":2,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":1152,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions\/1152"}],"wp:attachment":[{"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.symablog.de\/blog\/wp-json\/wp\/v2\/tags?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}