powershellでできることは業務効率化!
powershellを使用することでPCを使ったタスク系の作業や、社内SEの作業量を軽減することができます。ここではpowershellの基本的な概要をご説明します。
そもそもpowershellとは何か
powershellはwindowsにおけるコマンドプロンプトの進化版といえばわかりやすいかもしれません。
おそらくこれだけでSEやプログラマーの方、コーディングを日常的にされる方は理解できる可能性が高いですが、一般の方は「?」でしょう。一般の方がコマンドプロンプトを使う必要はほとんどないからです。
我々が普段wordのファイルを保存したり移動したりするのは、マウスでドラッグしたりクリックしたりでできてしまうのでほとんど意識はしません。あれは裏側でPCがその動作をするようにプログラムが実行されているのです。
プログラムはスクリプト言語で実行されます。なのでファイルを保存するのに我々はcontrol+sを押して簡単に実行しますが、スクリプト言語を書いて同じ動作をPCに行わせることもできます。その書き込む場所がwindowsのコマンドプロンプトであり、進化版のpowershellなのです。
powershellがなぜ進化版かというと、これまでwoindowsはサーバー管理などには向いていないOSという風潮があり、多くの社内システム管理者はLINUXを使用していました。
しかし、近年ではクラウド上で開発が行われることが増えました。より一般ユーザーに馴染みがあり流用がしやすいwindowsやMAC OSでも開発ができる互換性がある言語の必要度が高まったのです。powershellは互換性の高いスクリプト言語として価値が高いのです。
powershellでできること、できないこと
powershellとは、基本的にwindows上の動作に関わることであれば、ほぼ全てのことができるスクリプト言語です。windows上にあるデータベースの操作、ファイルの操作、セキュリティシステムの動作、なんでも可能です。
ただ、powershellは管理向けの言語なので、全く新しいプロダクトを製作する目的には不向きです。できないことはないのですが、するメリットがないのです。基本的には「既存の業務やシステムを自動化する」といった目的で使うのが理にかなっているでしょう。
powershellによる業務効率化の例
それではpowershellを使用して社内業務のどの部分を効率化できるのでしょうか。実際の例をご紹介します。
powershellでwindows上での単純作業
例えば、以下のような業務にpowershellを使うことができます。
- ファイルを別の場所にコピーする
- フォルダ内のファイルを全部プリンターで出力する
- フォルダ内のファイル名を全部書き換える
- データベースの中から自動的に数値を抽出する
- 複数のpdfファイルを結合する
上記のような、いわゆる「PCを使用したルーティンワーク」をpowershellが代わりに行うことができます。
細かいデータの整理を手作業でやるとミスも生まれますし、powershellで自動化するというのは有効です。自分の業務効率化のためにwindows上でpowershellのコマンドを書いてみるのは練習にもなります。
powershellで社内のシステム管理
powershellが最も実力を発揮するのは社内のシステム管理者の業務においてです。これまでLinux系のサーバーを管理していたシステム管理者であれば、業務は効率化しやすかったかもしれません。
LINUXの場合、PCの動作はプログラムを書くことで行われるため、構文さえ書ければ応用も流用も可能だったからです。
しかし、windows系のサーバーの場合なかなか難しい状況がありました。大量のサーバーやPC本体を手作業で1台ずつ見ないといけない、自動化が難しい、自動化できるソフトはあるけどコストがかかるなど、社内インフラ系のSEにとってはwindowsに泣かせられることは多かったようです。
powershellを活用することで、システム管理者の業務はかなり軽減されます。ほとんどの動作を自動化することができ、LinuxやMAC OSとも互換性があるため活用しない手はありません。
自社エンジニアにpowershellを学習してもらうには?
powershellはあくまで社内の業務効率化やシステム管理者の負担軽減のツールなので、できればあまりお金をかけずに導入したいものです。
社内のプログラマーにpowershellを学習してもらうのが一番いいでしょう。学習方法としてはどのようなものがあるのでしょうか。
実はすでに社内にpowershell利用者がいるかも
powershellは日常的にスクリプト言語をいじっていたり、コーディング業務をされている方にとってはとっつきやすい可能性が高いです。むしろ自分が行っている業務を効率化するために、自主的にpowershellを活用している方も多いかもしれません。
何か社として積極的にpowershellを使用したツールを開発したい場合、社内のエンジニアにpowershellを使っている人いないか確認してみるのも手です。実は個人的に使っているというエンジニアはいるかもしれません。
その人たちに開発に協力してもらえればリソースの有効活用ということになりますし、エンジニアのモチベーションも上がるでしょう。
web上にある情報で学習してもらう
powershellで検索すると、個人のブログを中心にそれなりにたくさんコーディングの情報が出てきます。
これを使用して自分で少しづつ学習してもらうというのが一番コストがかかりません。エンジニアであれば知識の習得は早いでしょう。
また、もし急いで習得するなら専門学校でpowershell講座を受講するという方法もあります。基本的にはプログラミングの知識がある程度ある方向けの講座が多いため、2日ほどで講義が全て完了するという感じです。集中的に取得するのであればありでしょう。
プログラミング初心者にpowershellの取得は難しいのか?
簡単とは言いませんが、他のプログラミング言語に比べると入口は楽と言っていいかもしれません。
行う作業がファイルの検索だったり数値の抽出だったりと日常の事務業務に直結した内容だからです。
こういった簡単な内容のpowershellプログラミングであればネット上にそのままスクリプト構文が落ちていたりもします。
それをそのまま自分のpowershellコマンドにコピペするだけでも、powershellはあなたのPC上で作動します。
ですので初心者の場合、まずは簡単なタスクをpowershellで行ないつつスクリプトのルールを学んでいくという方法をとることはできます。
手軽に学習することが可能なpowershellが、プログラミングに興味を持つきっかけになることもあるかもしれません。