PowerShell

【PowerShell】記事一覧としてのまとめ

2018年5月25日


Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Never too late to start.(始めるのに遅すぎることはない。)

 

 

これはいつも自分に言い聞かせているところです。私は 41 才で本格的に PowerShell を始めました。

 

 

実際に始めてみれば、趣味レベルであればそれほど難しくない事に気づくと思います。(業務となればまた別ですが汗;)正直、私は今まで PowerShell を業務でほとんど使っていませんでしたが、勉強しながら知識の整理としてここで記事を書いているくらいです。

 

 

現在は、仕事で使うようになりましたので、自分のブログがたまに参考になったりします。

 

 

 

対象となる読者

 

 

基本的には、以下の方々を対象としています。

 

 

  • PC サポートなど、ヘルプデスクの方
  • 社内 SE の方
  • Windows 管理者の方
  • Windows 管理者を目指している方
  • PowerShell に興味はあるが、今まで使った事がない、コマンドやスクリプト言語も使った事がない方

 

 

また、実際手を動かしながら進めてゆけるように書いていますので、ハンズオンしながら進めたい方にはお勧めかと思います。

 

 

入門 〜 基本レベルを中心にまとめてゆこうかと思います。(未だ私は PowerShell スキルもそのレベルですので)

 

 

また、クラウド基盤やミドルウェアで使う PowerShell もここで Tips としてまとめて、必要になったら見つけやすいようにしたいと思います。

 

 

まだまだ、記事のクオリティも量もまとめかたもまだまだではありますが、参考になれば幸いです。という事で早速ですが、未だ PowerShell について知らない方もいると思います。まずは何故 PowerShell が必要なのか?という切り口から書いてゆきます。

 

 

 

PowerShell の需要

 

 

PowerShell の需要は着々と増えているようです。Windows サーバー・ミドルウェアの運用などで求められると思われます。私は主に Active Directory の関係で PowerShell を使うようになりました。

 

 

Windows Server 2008 R2 や Windows 7 の時はデフォルトで PowerShell は使えませんでしたが、現在 Windows Server 2016 や Windows 10 ではデフォルトで PowerShell が使えます。

 

 

現在は、PowerShell は全ての製品に Build-in され、サポートされていますので、PowerShell を使えば全ての Microsoft のサーバー製品を管理する事ができます。

 

 

管理者の視点でいえば、もしあなたが PowerShell を使いこなせれば、最新のMicrosoft 製品を管理するスキルセットを持っているという事になります。

 

 

 

PowerShell の使われ方

 

 

基本的にはWindows サーバーの管理に使われます。(クライアント OS でも使います。)恐らく PowerShell が使えれば、全ての管理ができるのではないかと思いますが、何でも PowerShell を使うという訳ではないと思います。

 

 

例えば、私が Exchange Server 2007 を管理していた時に、最も使われていた共通する管理向け機能は GUI でデザインされていました。(だいぶ GUI が変わりましたよね)一方でよく使われていないような機能などは PowerShell を使わなければならなかったと記憶しています。(共通する機能も PowerShell で使えます。)

 

 

こういったように、Microsoft の PowerShell に対しての考え方は、「よく使う機能は GUI を提供します、そうではない機能は PowerShell を使ってください。」という事かと思います。(Azure もそういう使われ方になってきていると思います。)

 

 

 

PowerShell が使えると得られるメリット

 

 

ここで PowerShell が使えるようになるとどのようなメリットがあるのか、お伝えいたします。

 

 

  • Windows の管理が楽になる。例えばこんなケースが考えられます。こういった依頼に対して GUI で処理するより、格段に時短にでき、且つ自動化でき、使い回しが可能になります。
    • 「一時的に使うユーザーアカウントを 100 個作って欲しい」と頼まれた時。
    • 「サーバーマシンのコンピューターオブジェクト一覧を CSV で出して欲しい」と頼まれた時。
    • 「Azure の仮想マシンを夜中に自動で停止し、朝一に自動開始して欲しい」と頼まれた時。
    • 大量の PC を運用している企業で、例えば 5000 台の PC の C ドライブの下にフォルダを作ってほしいと言われた時。
  • PowerShell はコマンドでスクリプト言語ですが、プログラミングの基礎が理解できるようになると私は思います。使い方に慣れてくると、他のプログラミング言語を一から初めても、どのプログラミング言語でも最初に覚えなくてはならない入門的な知識を習得するのがスムーズになると思います。
  • スクリプトを使える人が少ない企業ですと重宝されるようになるかと思います。
  • MCP の Microsoft の資格試験は PowerShell の問題が入っているので資格試験対策にもなります。

 

 

このように、PowerShell を使えれば、一石二鳥 ( killing two birds with one stone ) 以上の効果が得られるはずです。

 

 

 

始める前に

 

 

くどいようですみませんが、Microsoft のスキルを身につけたいという事でしたら、PowerShell は身につけるとメリットが沢山付いてきますので是非とも学習される事をお勧めします。

 

 

 「Windows の管理者が PowerShell を使う事は必須のスキルになってきている」と思います。

 

 

 

入門レベル

 

 

入門向けの記事になります。ここで PowerShell の基本的な使い方を理解すると良いでしょう。

 

 

下のリンクは全て別タブで開きます。(タイトルは一部若干ですが変更しているものもあります。)

 

  1. PowerShellの紹介と使い方について
  2. 基本的なコマンドレットの一覧について
  3. Get-HelpとGet-Commandの使い方
  4. 変数の基本的な使い方の説明
  5. データの種類について(整数型と文字列型)
  6. Pipeline(パイプライン)とは何か
  7. 実行ポリシーを変更する
  8. Read-Hostコマンドレットを使ってみる
  9. Write-Hostコマンドレットを使ってみる
  10. Write-Outputコマンドレットを使ってみる
  11. 色々な比較演算子を使ってみる
  12. 比較演算子を元に条件式(IF文)を使ってみる
  13. 配列(Array)についてまとめてみる
  14. 連想配列(hash_table)についてまとめてみる
  15. 繰り返し文(While, For)について
  16. 関数(function)を使ってみる
  17. エラーハンドリング(Try-Catch)を使ってみる
  18. オブジェクトを操作するコマンドを使う

 

 

 

基本操作

 

 

フォルダ・ファイル操作

 

 

フォルダや、ファイル(テキストや CSV ファイル等)の操作に関する記事になります。フォルダの場所を移動したり、ファイルのオブジェクトを追記したり、インポートしたりエクスポートしたりする事は業務で実際に使う処理になりますので、ここで纏めています。

 

 

下のリンクは全て別タブで開きます。(タイトルは一部若干ですが変更しているものもあります。)

 

 

  1. テキストファイルの操作をする
  2. CSVファイルの操作をする
  3. 古いファイルのみを圧縮する
  4. ファイルやフォルダを操作する
  5. フォルダを作成しアクセス権限を付与する
  6. ユーザープロファイルの場所を変更する

 

 

 

画面処理

 

 

GUI に関する事に関する記事になります。画面上にウィンドウを表示したり、ダイアログを表示したりするような画面処理を PowerShell で作る方法をここで纏めています。

 

 

下のリンクは全て別タブで開きます。(タイトルは一部若干ですが変更しているものもあります。)

 

 

  1. メッセージボックスを表示する
  2. Ping実行ウィンドウを作ってみる
  3. 画面内の指定場所にウィンドウを表示する

 

 

 

セキュリティ

 

  1. スクリプトに署名する方法について

 

 

 

TIPS

 

 

レベル別の記事ではなく、クラウド基盤やミドルウェアで PowerShell を使う記事などは Tips に分けてまとめております。

 

下のリンクは全て別タブで開きます。(タイトルは一部若干ですが変更しているものもあります。)

 

  1. Azure PowerShellをインストールする
  2. Azure PowerShellでAzureに接続する
  3. Azure PowerShellでリソースグループを作る
  4. Azure PowerShellでAzureVMをデプロイする
  5. Azure PowerShellでAzureVMのサイズを変更する
  6. Azure PowerShellでAzureVMのDiskを作る
  7. Azure PowerShellでAzureVMの電源ステータスの確認と電源オン・オフをする
  8. PowerShellでAzure ADに接続する
  9. PowerShellでAzure ADのユーザー追加をする
  10. PowerShellでADオブジェクト一覧を取得する
  11. PowerShellでユーザーのsamAccountNameを取得する
  12. PowerShellでユーザーのUPNを取得する
  13. OUにリンクされているGPOを調べる
  14. OUにリンクされていないGPOを調べる
  15. GPOからスクリプトパスを調査する
  16. 不要なアプリをアンインストールする方法
  17. GPOの信頼済みサイトにURLを追加する

 

 

おすすめの本はこちら ↓↓↓

 

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PowerShell
-, ,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637