4

私はPowerShellを独学で学び、いくつかのスクリプトを作成しました。そのうちのいくつかは非常に強力です。それにもかかわらず、PowerShellを意図した方法で使用していない可能性があるのではないかと心配しています。これが私の2つの主な懸念事項です。

  1. 私が読んだことから、PowerShellスクリプトは、パイプで接続できるように、また出力を他の何かにパイプで接続できるように作成する必要があります。しかし、私がスクリプトを書いた方法は、完全にスタンドアロンであり、を介してすべてをユーザーに出力することWrite-Hostです。

  2. 私が読んだもう1つのことは、エラーが発生した場合(たとえば、ファイルを読み取ろうとしたが権限がない場合)、Write-Errorではなくを使用する必要があるということですWrite-Host。しかし、私はこれをしません。わかりやすい英語のエラーメッセージをキャプチャして出力するだけなWrite-Hostので、PowerShellやスクリプトの実行方法以外のコーディングについて何も知らない人にとってより使いやすいものになっています。

これらのいずれかがPowerShellコミュニティでひどく嫌われていますか?強力で、コメントが多く、読みやすいスクリプトの1つを高度なPowerShellコーダーに見せた場合、彼はそれを嘲笑してゴミと呼びますか?

私のスクリプトのいくつかは他の人にも役立つかもしれませんが、私のスタイルが正しくないことを恐れて、誰かにコードを表示することを躊躇します。どんな助けでもいただければ幸いです。ありがとう!

4

2 に答える 2

2

「強力で、コメントが多く、読みやすいスクリプトの1つを見せたら」

IMOのベストプラクティスは、すべての人が常に従うことはできません。コードが強力で、読みやすく、変更しやすい(コメント付き)限り、人々がそれを役立つと思うなら、ベストプラクティスに従うことを心配する必要はありませんが、コードにベストプラクティスの実装を開始することをお勧めします。ゆっくり。

SharePointでは、ベストプラクティスはログとイベントビューアにエラーを書き込むことですが、一部のプロジェクトでは、エラーの詳細を特定の受信トレイに電子メールで送信して、問題をすぐに確認して修正します。ここではベストプラクティスには従いませんが、これは便利で効果的です。

チームがSharePointサーバーで迅速なタスクを実行するためにほぼ毎日使用するPowerShellスクリプトが多数あります。それらは私たちによって書かれたものであり、私たちもすべてのベストプラクティスに従っているわけではありません:)

于 2012-04-19T03:55:01.093 に答える
2

write-output出力を他のスクリプトなどにパイプできるようにするのではなく、スクリプトを使用することは期待されていないと思いますwrite-host。コマンドレットや関数はそれを行うことが期待できますが、スクリプトは期待できません。スクリプトが実行しているアクションについてユーザーに何かを表示する必要がある場合は、を使用することもできますWrite-HostWrite-Outputスクリプトの出力をログファイルに記録し、画面にユーザーに表示する場合は、を使用するとよい場合があることに注意してください。あなたが使用しているときにそれを行うことはWrite-Host簡単に/効率的に行うことはできません。

Write-ErrorIMOが不要であるという追加情報を追加します。私はめったに使用しませんWrite-ErrorWrite-Host -fore red messageスクリプトのエラーを示すために使用します。それはそれを素晴らしくシンプルに保ちます。

ただし、もちろん、常にWrite-Outputを使用したり、常にWrite-Hostを使用したりするようなステートメントを作成することはできません。状況やスクリプトの使用方法によって異なります。

于 2012-04-19T04:13:32.037 に答える