アカウント名:
パスワード:
運用やってたときがあるんだが、VBA、PowerShellでちょいプロできるとかなりの部分が自動化できる。
・エクセルでリスト化した宛先・ファイルを自動でメール送信・数十のCSVの一部を取り出し、集計・レポート化・仮想マシンの自動デプロイ・初期設定・全ユーザの特定フォルダの監視・仮想マシンへアプリの自動インストール(vcenter経由)・ログインユーザの取得・プリンタ設定の全ユーザ一括変更
その他100個くらいスクリプト作ったな。スクリプトで効率化できたのはいいけど、運用チーム15人いたのが5人になってしまった。。
これらをLinuxでやれと言われたら無理だわーLinux好きで自宅では使ってるけど、業務に使うのは無謀だと思っている。
GNU系なら全部簡単にできると思うが、それをパワーシェルでやれって言われると結構時間かかると思う。無理とは言いたくないが。
#3298329だが、Linuxでのシェルスクリプト歴の方が長いが、PowerShell触ったときは感動したぞ。あれはよくできていると思う。パイプでオブジェクトを渡せる。これできるとbashなどのシェルスクリプトはやはり時代遅れに感じるわ。習得までの時間やスクリプト作る時間はPowerShellの方が圧倒的に早かった(おれの場合)。あとVM使うことが多くなってきたが、ベンダーが用意しているAPIはPowerShellに対応したものばかり。PowerShellはこれから(もう?)必須技術になっていると思う。VBAはもう触りたくない…
おお、同じ感想を持った人に出会えた。PowerShellでのオブジェクトの扱いは感動ものですよね。あと動作がある程度安定してきたあとにC#ベースのツールに書き直すのも楽だし。大量のプロパティのどれを使えばいいのかを学ぶまではちょっと大変だと思ってますが、ドキュメントはそれなりに見つかるのでまあなんとか。
PowerShellがよくできてる、ってのには80%くらい賛成するんだけど、疑問なところもあるんだよね。
たとえば…
配列をよく使う言語なのに、普通の配列操作が致命的に遅いとか。# ArrayList使えばいいけど…
コマンドラインとパイプラインの両方から受け取る引数の扱いがヘンとか。
BEGIN - PROCESS - END で書くと、全体を通した finallyが書けないとか。# trap構文でなんとかならんのか…# と思ったら、Register-EngineEventでできるのか。
でも、クラスの定義はできるようになった!Add-Member でちまちまやらなくて済むようになってよかった。
どんな言語も得意不得意があるのだからShellだって同じでしょう。pythonとかと使い分ければ良いだけ。
どんな言語も得意不得意があるのだからShellだって同じでしょう。
んー、そーゆー問題じゃないんだよな。クラスを定義できなかった問題は、まあ、PowerShellの用途から言って、そういう割り切りもあると思うんだけど、他のはもっと別に方法があっただろう、って思うんだよね。
本番投入前にはなんだかんだ安定化する必要があるのでPshellはプロトタイピングが済んだら用済み?
以前あるプロジェクトでは結果的にプロトタイピングになりましたね。管理ツールとしてではなくプロジェクト固有のデータコンバータだったのですが・急ぎ必要だったのでまずはPowerShellで書き起こし。・だいたいやるべき事落ち着いてプログラマ以外のメンバーにも配布する段階でC#使ってexe化(.NETは入れないといかんですが)・速度もう少しなんとかならんの?という要望が出た時点でひいこら言いながらC++で書き直し。てな感じでした。
単なる管理用のスクリプトとしてだけでなくプログラム言語としても面白いよねやったことない人はぜひやってみて欲しいWindowsがあれば開発環境(PowerShell ISE)はすでに用意されているんだし
PowerShellは、面白いんだけど、セキュリティ関連が安全サイドによってて、面倒だった記憶が。
デフォルトだと、ローカル実行が許可されてなくて、ローカル実行許可のポリシー設定するか、毎回パラメーターで指定しないとならないってのがあって、手軽に触れない印象がある。
後、最新版だとできる様になっているかもだけど、psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。
Set-ExecutionPolicyを、コンピュータもしくはユーザ事に一回やればいいだけでしょ?あるいは、グループポリシーでできるんじゃなかったっけ?
まあ、シェルスクリプトと比較して面倒と感じてるかもしれないけど、シェルスクリプトは普通、chmod a+xをスクリプト毎に実行するわけだから、実はPowerShellの方が手間はかからないとも言える。
psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。
どうしても、ってことなら、CMD.exeでラップすれば?
自分の場合でいえば、スクリプトをダブルクリックで実行するって感覚が、そもそも無いけどね。
コンテキストメニューから実行できるけど、なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。
batファイルからps1ファイル呼び出せば実行できるので、それで対処するとかpowershell -sta -ExecutionPolicy Unrestricted -File %0\..\powershelltest.ps1 %*
なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。
コンテキストメニューから実行することがほとんど無いんで知らないんだけど、それって本当?同じマシン・同じユーザでも警告が出たり出なかったりするの?
Set-ExecutionPolicyを実行してなかったりとか、そのスコープを理解してなかったりするだけではない?
> シェルスクリプトは普通、chmod a+xをスクリプト毎に実行するcurlからパイプでbashに流し込んだり、tarballからパーミッションごと取り出して実行したりで、実行する本人は+xしない状況も多いけどね。かと思えばバラでパーミッション設定しなきゃいかん所で横着してchmod a+x *とかやる奴も居たり。
curlからパイプでbashに流し込んだり、
ええと、話がズレてるんじゃない?PowerShellのスクリプトファイル *.ps1 は、ダブルクリックで実行できないよね、って話からの流れなので、当然 bash でいえば、bash スクリプトファイルの話をしてるつもりなんだけど。
PowerShell 触った人は、だいたい同じ感想になるよ。同じような感想持たないのは、原理主義で現実が見えないか、元環境のシェルもPowerShellもどちらも理解できてないぐらいまで低能な連中だけ。
シェルとしての使い勝手だとか構文だとか実行速度が遅すぎて辛いとかは好み(?)はあるにしても、一段階先に進んでるのは否定できないよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
VBA・PowerShell (スコア:0)
運用やってたときがあるんだが、VBA、PowerShellでちょいプロできるとかなりの部分が自動化できる。
・エクセルでリスト化した宛先・ファイルを自動でメール送信
・数十のCSVの一部を取り出し、集計・レポート化
・仮想マシンの自動デプロイ・初期設定
・全ユーザの特定フォルダの監視
・仮想マシンへアプリの自動インストール(vcenter経由)
・ログインユーザの取得
・プリンタ設定の全ユーザ一括変更
その他100個くらいスクリプト作ったな。
スクリプトで効率化できたのはいいけど、運用チーム15人いたのが5人になってしまった。。
これらをLinuxでやれと言われたら無理だわー
Linux好きで自宅では使ってるけど、業務に使うのは無謀だと思っている。
Re: (スコア:0)
GNU系なら全部簡単にできると思うが、それをパワーシェルでやれって言われると結構時間かかると思う。無理とは言いたくないが。
Re: (スコア:0)
#3298329だが、Linuxでのシェルスクリプト歴の方が長いが、PowerShell触ったときは感動したぞ。
あれはよくできていると思う。
パイプでオブジェクトを渡せる。これできるとbashなどのシェルスクリプトはやはり時代遅れに感じるわ。
習得までの時間やスクリプト作る時間はPowerShellの方が圧倒的に早かった(おれの場合)。
あとVM使うことが多くなってきたが、ベンダーが用意しているAPIはPowerShellに対応したものばかり。
PowerShellはこれから(もう?)必須技術になっていると思う。
VBAはもう触りたくない…
Re:VBA・PowerShell (スコア:0)
おお、同じ感想を持った人に出会えた。
PowerShellでのオブジェクトの扱いは感動ものですよね。
あと動作がある程度安定してきたあとにC#ベースのツールに書き直すのも楽だし。
大量のプロパティのどれを使えばいいのかを学ぶまではちょっと大変だと思ってますが、ドキュメントはそれなりに見つかるのでまあなんとか。
Re:VBA・PowerShell (スコア:1)
PowerShellがよくできてる、ってのには80%くらい賛成するんだけど、疑問なところもあるんだよね。
たとえば…
配列をよく使う言語なのに、普通の配列操作が致命的に遅いとか。
# ArrayList使えばいいけど…
コマンドラインとパイプラインの両方から受け取る引数の扱いがヘンとか。
BEGIN - PROCESS - END で書くと、全体を通した finallyが書けないとか。
# trap構文でなんとかならんのか…
# と思ったら、Register-EngineEventでできるのか。
でも、クラスの定義はできるようになった!
Add-Member でちまちまやらなくて済むようになってよかった。
Re: (スコア:0)
どんな言語も得意不得意があるのだからShellだって同じでしょう。
pythonとかと使い分ければ良いだけ。
Re:VBA・PowerShell (スコア:1)
どんな言語も得意不得意があるのだからShellだって同じでしょう。
んー、そーゆー問題じゃないんだよな。
クラスを定義できなかった問題は、まあ、PowerShellの用途から言って、そういう割り切りもあると思うんだけど、他のはもっと別に方法があっただろう、って思うんだよね。
Re: (スコア:0)
本番投入前にはなんだかんだ安定化する必要があるのでPshellはプロトタイピングが済んだら用済み?
Re: (スコア:0)
以前あるプロジェクトでは結果的にプロトタイピングになりましたね。
管理ツールとしてではなくプロジェクト固有のデータコンバータだったのですが
・急ぎ必要だったのでまずはPowerShellで書き起こし。
・だいたいやるべき事落ち着いてプログラマ以外のメンバーにも配布する段階でC#使ってexe化(.NETは入れないといかんですが)
・速度もう少しなんとかならんの?という要望が出た時点でひいこら言いながらC++で書き直し。
てな感じでした。
Re: (スコア:0)
単なる管理用のスクリプトとしてだけでなくプログラム言語としても面白いよね
やったことない人はぜひやってみて欲しい
Windowsがあれば開発環境(PowerShell ISE)はすでに用意されているんだし
Re: (スコア:0)
PowerShellは、面白いんだけど、セキュリティ関連が安全サイドによってて、面倒だった記憶が。
デフォルトだと、ローカル実行が許可されてなくて、ローカル実行許可のポリシー設定するか、毎回パラメーターで指定しないとならないってのがあって、手軽に触れない印象がある。
後、最新版だとできる様になっているかもだけど、psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。
Re:VBA・PowerShell (スコア:2)
デフォルトだと、ローカル実行が許可されてなくて、ローカル実行許可のポリシー設定するか、毎回パラメーターで指定しないとならないってのがあって、手軽に触れない印象がある。
Set-ExecutionPolicyを、コンピュータもしくはユーザ事に一回やればいいだけでしょ?
あるいは、グループポリシーでできるんじゃなかったっけ?
まあ、シェルスクリプトと比較して面倒と感じてるかもしれないけど、シェルスクリプトは普通、chmod a+xをスクリプト毎に実行するわけだから、実はPowerShellの方が手間はかからないとも言える。
psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。
どうしても、ってことなら、CMD.exeでラップすれば?
自分の場合でいえば、スクリプトをダブルクリックで実行するって感覚が、そもそも無いけどね。
Re: (スコア:0)
コンテキストメニューから実行できるけど、なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。
Re: (スコア:0)
batファイルからps1ファイル呼び出せば実行できるので、それで対処するとか
powershell -sta -ExecutionPolicy Unrestricted -File %0\..\powershelltest.ps1 %*
Re:VBA・PowerShell (スコア:1)
なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。
コンテキストメニューから実行することがほとんど無いんで知らないんだけど、それって本当?
同じマシン・同じユーザでも警告が出たり出なかったりするの?
Set-ExecutionPolicyを実行してなかったりとか、そのスコープを理解してなかったりするだけではない?
Re: (スコア:0)
> シェルスクリプトは普通、chmod a+xをスクリプト毎に実行する
curlからパイプでbashに流し込んだり、tarballからパーミッションごと取り出して実行したりで、実行する本人は+xしない状況も多いけどね。
かと思えばバラでパーミッション設定しなきゃいかん所で横着してchmod a+x *とかやる奴も居たり。
Re:VBA・PowerShell (スコア:1)
curlからパイプでbashに流し込んだり、
ええと、話がズレてるんじゃない?
PowerShellのスクリプトファイル *.ps1 は、ダブルクリックで実行できないよね、って話からの流れなので、当然 bash でいえば、bash スクリプトファイルの話をしてるつもりなんだけど。
Re: (スコア:0)
PowerShell 触った人は、だいたい同じ感想になるよ。
同じような感想持たないのは、原理主義で現実が見えないか、元環境のシェルもPowerShellもどちらも理解できてないぐらいまで低能な連中だけ。
シェルとしての使い勝手だとか構文だとか実行速度が遅すぎて辛いとかは好み(?)はあるにしても、一段階先に進んでるのは否定できないよ。