十分な自動化-今度はPowerShellでフクロウを描き、コンソールに話すことを教えます







今日はPowerShellのハイポイントです。PowerShellで作成された奇妙なスクリプトやゲームの時代です。 深刻なルーチンにうんざりしていて、他のPowerShellの才能を見たい場合は、猫に招待します。







トーキングコンソール



最もシンプルなエンターテインメント、トーキングコンソールから始めましょう。 Windowsファミリでは、音声合成インターフェイスが長い間存在していました。.NetライブラリではSystem.Speechと呼ばれ、COMオブジェクトを好む人にはSAPI.SpVoiceと呼ばれます。 PowerShellでは、両方の方法を使用できます。







次のスクリプトを使用して、インターフェイスの動作を確認します。







Add-Type -AssemblyName System.Speech $voice = New-Object System.Speech.Synthesis.SpeechSynthesizer $voice.Speak("-- —    ,    !")
      
      





複数の投票をシステムにインストールできます-異なる国籍、年齢、性別のオプションがあり、それぞれ独自の名前が付いています。 次のコマンドで一般リストを表示できます。







 $voice.GetInstalledVoices().VoiceInfo
      
      







イリーナとジラは準備ができています。







追加の「架空の友人」は、標準のWindowsインターフェイスを介して、 Microsoft Webサイトまたは外部ソースから入力言語とともにダウンロードできます

次のコマンドで適切な音声を選択できます。







 $voice.SelectVoice("")
      
      





この知識があれば、サーバーのクラッシュを示す監視を収集したり、お気に入りのリモートアクセスツールで同僚を驚かせたりすることができます。 私たちの資料「 リモートコンピューターでコマンドを実行する1000 ++の方法 」を使用できます。







既製の例として、いくつかのリンクを残します。









しかし、もちろん、私たちに伝える機会は1つでは十分ではありません。 コンソールはまだ開いているメロディで応援していますか?







Hello%USERNAME%



PowerShellにはプロファイルの概念があります。 この詳細については、TechNetのWindows PowerShellプロファイルの記事をご覧ください。 プロファイルの助けを借りて、次のエンティティを構成できることに注意してください。









最後のオプションでは、たとえば、誰かがPowerShellウィンドウを開くたびに音楽を再生できます。 準備として、まだ存在しない場合は、次のコマンドを使用してプロファイルを作成する必要があります。







 New-Item -path $profile -type file -force
      
      





これで、PowerShell ISEなどの任意のエディターでプロファイルを変更できます。







 PowerShell_ISE.exe $profile
      
      





タスクを開始する例として、spiceworksポータルユーザーのルークマレーは、次のスクリプトで帝国の行進をすることを提案しました。







 start-job { [console]::beep(440,500) [console]::beep(440,500) [console]::beep(440,500) [console]::beep(349,350) [console]::beep(523,150) [console]::beep(440,500) [console]::beep(349,350) [console]::beep(523,150) [console]::beep(440,1000) [console]::beep(659,500) [console]::beep(659,500) [console]::beep(659,500) [console]::beep(698,350) [console]::beep(523,150) [console]::beep(415,500) [console]::beep(349,350) [console]::beep(523,150) [console]::beep(440,1000) }
      
      





タスクとして、前のセクションの資料を使用して、開始時のコンソールがおとぎ話を語ったり、重要なことにシステム管理者を名前と愛称で歓迎することができます。 そして、次のコマンドでDVD-ROM(まだ持っている)を開くことができます:







 (New-Object -com "WMPlayer.OCX.7").cdromcollection.item(0).eject()
      
      





ここでは、「コーヒースタンド」を開くために、WMPlayer.OCX.7オブジェクトが使用されます。 また、音楽を再生するという目的のために使用することもできます。







コンソールプレーヤーの作成



何らかの理由で古き良きmpdが気に入らず 、間違いなく自転車を発明したい場合、または完成した自転車を見てみたい場合は、エンジニア、開発者、そしてただいい人であるPrateek Singhが ブログで Windows Media PlayerとPowerShellを管理するためのシステムオブジェクトを使用する興味深いオプションを提供しました。 このスクリプトの特徴は、再生されたトラックをミックスできることです。







スクリプトをすぐにPowerShellプロファイルに追加し、1つのコマンドでプレーヤーを実行できます。







 Music "    "
      
      







プレーヤーの起動。







再生を制御するには、パラメーターをシャッフル(シャッフル)、ループ(ループ再生)、および停止(再生を停止)でコマンドを起動します。次のトラックに移動すると、システム通知が下隅に表示されます。









新しいトラックの開始の通知。







完全なスクリプトは、作成者リポジトリで入手できます







Prateek Singhのブログには、さまざまな程度の有用性のあるスクリプトがたくさんあるので、そのうちのいくつかにのみリンクを付けます。











PowerShellの天気予報。 できるから。







マルチメディアにヒットしたので、3Dプリント、モデリング、その他の拡張現実向けのオブジェクトを作成するオプションについて説明します。







フクロウの描き方、今は3Dで!



1月、 Cosmos Darwinは、 PowerShell複合現実モデルを作成するというブログ投稿を投稿しました。これは、PowerShellを使用して3Dモデルファイルを生成する可能性を検討しました。







.objファイルを解析すると、「 v 」という表記のポイントの座標と、「 f」の文字の下にある平面の座標を見つけることができます。 たとえば、ファイル内の単純なキューブは次のようになります。







 v 0 0 0 v 0 0 1 v 0 1 1 v 0 1 0 v 1 0 0 v 1 0 1 v 1 1 1 v 1 1 0 f 1 2 3 4 f 8 7 6 5 f 1 5 6 2 f 4 8 5 1 f 2 6 7 3 f 3 7 8 4
      
      





結果のファイルを保存し、グラフィカルビューアー(たとえば、「複合現実ビューアー」)で開くと、キューブが実際に描画されます。









新しく作成されたキューブ。







より複雑な構造を持つファイルを手動で作成することはより困難であるため、数学とPowerShellが役立ちます。







たとえば、ディオニュソスやバッカスの栄光のためにワインのグラスを作成できます。 ガラスは回転体なので、ガラスの半分だけを作成すれば十分です。 次に、回転中に、目的の血管が得られます。









この図を回転させると、グラスが手に入ります。







次に、いくつかの資料を追加し、数学の学校のコースを覚えて、台本の形で整理し、素晴らしいグラスを手に入れます。









レディグラス。







既製のスクリプトとテクスチャは、 obj-in-powershellプロジェクトの作成者のGitHubアカウントで利用できます。 次に、PowerShellと3Dのより実用的な使用に移りましょう。







ユニティモニタリング



想像してみてください。監視システムのオブジェクトとそのステータスを表示するITオフィスの大画面上の美しいマップ。 そして、pr索好きな目がないときは、マップを折りたたんでシンプソンズを見ることができます。







カードプロバイダーは、同じZabbixまたはFpingerにすることができます。 しかし、過度の情報量にもかかわらず、彼らの美しさはあまり良くありません。 Micky Balladelliは、Unityの機能を視覚化のためのPSUnityアプリケーションのセットとして適用することにより、この省略を修正することを約束しました。







考え方は簡単です。サーバーは特定のポートで起動され、PowerShellコマンドレットのセットを使用して監視オブジェクトを追加したり、ステータスを変更したりします。 クライアントはサーバーに接続し、結果の画像を表示します。 オブジェクトのステータスは、ZabbixやSCOMなどの使い慣れた監視システムから取得できます。







オブジェクトなしでサーバーを起動すると、クリーンフィールドで単独のR2D2を確認できます。









探しているドロイド。







[表示]ボタンを使用して、モード(データセンター、惑星、宇宙)を切り替えることができます。 かなり捨てられた。









無人の監視惑星。







PowerShellを使用してオブジェクトの追加を開始すると、状況が変わります。







次のコマンドを使用して、サーバー自体に接続できます。







 $Session = New-PSUnitySession -ComputerName localhost -Port 7777
      
      





Set-PSUnityServerコマンドレットを使用して、ドロイドでマップにオブジェクトを追加できます。







 Set-PSUnityServer -Session $Session -X 0 -Y 5 -Name EXSRV1 -Role Exchange -Location Maui -Status 0 -Description "EXSRV1 has drifted its configuration."
      
      





上記のコマンドは、不吉な説明を持つサーバーを追加します。









彼らはサーバーをカードに追加し、R2D2はそれを研究し始めました。







惑星に都市を追加し、そのステータスを変更するには、次のコマンドを使用できます。







 Set-PSUnityCity -Session $Session -Name "Moscow" -Status 3 Set-PSUnityCity -Session $Session -Name "Saint Petersburg" -Status 1
      
      







2つの都市が追加されました。







別の興味深いビューは、仮想マシンとそのステータスを備えた2つのデータセンターです。 カップルを追加します。







 Set-PSUnityCloudInfo -Session $Session -Site 2 -Name "" -Role "" -Location " " -Status 4 Set-PSUnityCloudInfo -Session $Session -Site 1 -Name "" -Role "" -Location " " -Status 1
      
      





次に、メインデータセンターに多くの仮想マシンを作成します。







 $color = 4 for ($i = 0; $i -lt 1500; $i++) { Set-PSUnityCloud -Session $Session -Site 1 -Name "VM$i" -VMHost "Hostname" -Cluster "ClusterID" -Status $color -Description Running $color++; if ($color -eq 5) { $color = 0 } }
      
      





出力は次の結果になります。









仮想コンピューターが回転しています。 美人!







PSUnityプロジェクトのリリースセクションにあるクライアント、一連のコマンドレット、およびサンプルスクリプトを使用して、サーバー自体をダウンロードできます。 Unityに着いたら、いくつかの簡単なPowerShellゲームの時間です。







GamedevとPowerShell



数年前、世界は2048と呼ばれるゲームを「爆発」させました。 当初、ブラウザバージョンは、モバイルデバイスを含め、多くの適応を受けました。 もちろん、既に述べたMicky Balladelliによって作成されたPowerShellのクローンがありました。 このスクリプトは、著者のブログの記事2048 en Powershellにあります。









ゲームインターフェース







2番目に人気のあるゲームは、元々モバイルデバイス用に作成されたFlappy Birdです。 スマートフォンを激怒させ、悪夢のようにゲームを忘れてしまった場合は、PowerShellのクローンとして思い出してください。







クローン自体は、エンジニアApoorv Vermaの Flappy Shellリポジトリで入手できます。









ゲームを覚えて、壁を集めて、ネガを手に入れます。







記事の最後で、私のお気に入りの子供向けゲームであるSpace Invadersの適応へのリンクを提供したいと思います。 PowerShellソリューションは、 Space InvadersというタイトルのAdrian Millinerの記事でダウンロードできます。 スクリプトは単なるスクリプトではなく、サウンドを備えた本格的なゲームです。 仕事には注意してください。









PowerShellにノスタルジックで、エイリアンの侵略者と戦う。







独自の興味深く珍しいPowerShellスクリプトがある場合は、何をすべきかを知っています。








All Articles