オタクスクール:PowerShellでWindowsを自動化する方法を学ぶ

Jul 10, 2025
プライバシーとセキュリティ
未取得のコンテンツ

今回のGeekSchoolでは、Windowsに組み込まれている強力なPowerShellスクリプト言語を理解し、IT環境で知っておくと非常に役立ちます。

このシリーズは試験を中心に構成されていませんが、PowerShellを学ぶことは、ネットワーク管理者としてできる最も重要なことの1つです。したがって、ITキャリアを支援するために学びたいことが1つあるとすれば、それです。さらに、それはとても楽しいです。

前書き

PowerShellは、Microsoftが提供する最も強力な自動化ツールであり、その両方が シェル スクリプト言語

このシリーズは、Windows8およびServer2012に同梱されているPowerShell3に基づいていることに注意してください。Windows7を実行している場合は、続行する前にPowerShell3の更新プログラムをダウンロードしてください。

コンソールとISEに会う

PowerShellをすぐに使用するには、コンソールと統合スクリプト環境(ISEとも呼ばれます)の2つの方法があります。 ISEは、PowerShell 2に付属の恐ろしいバージョンから大幅に改善されており、Win + Rキーボードの組み合わせを押して実行ボックスを表示し、powershell_iseと入力してEnterキーを押すと開くことができます。

ご覧のとおり、ISEは分割ビューを備えているため、ISEの下半分で結果を確認しながら、すばやくスクリプトを作成できます。スクリプトの結果が出力されるISEの下半分は、コマンドプロンプトと同様にREPLプロンプトとしても使用できます。 v3 ISEは、スクリプトペインとインタラクティブコンソールの両方でインテリセンスのサポートを最終的に追加しました。

または、PowerShellコンソールを使用してPowerShellを操作することもできます。これは、このシリーズのほとんどで使用するものです。 PowerShellコンソールは、コマンドプロンプトのように動作します。コマンドを入力するだけで、結果が出力されます。 Windows PowerShellコンソールを開くには、もう一度Win + Rキーボードの組み合わせを押して実行ボックスを開き、powershellと入力して、Enterキーを押します。

このようなREPLプロンプトは、すぐに満足できるものです。コマンドを入力すると、結果が得られます。コンソールはインテリセンスを提供しませんが、タブ補完と呼ばれるものを提供します。これはほとんど同じように機能します。コマンドの入力を開始し、タブを押して一致する可能性のあるものを切り替えます。

ヘルプシステムの使用

PowerShellの過去のバージョンでは、Windowsのインストール時にヘルプファイルが含まれていました。これはほとんどの場合良い解決策でしたが、重大な問題を残しました。 PowerShellヘルプチームがヘルプファイルの作業を停止しなければならなかったとき、PowerShell開発者はまだコーディングと変更に忙しかった。つまり、PowerShellが出荷されたとき、ヘルプファイルには、コードに加えられた新しい変更が含まれていなかったため、正しくありませんでした。この問題を解決するために、PowerShell 3にはヘルプファイルが付属しておらず、更新可能なヘルプシステムが含まれています。つまり、何かをする前に、最新のヘルプファイルをダウンロードする必要があります。これを行うには、PowerShellコンソールを開いて次のコマンドを実行します。

更新-ヘルプ

最初のPowerShellコマンドを実行しておめでとうございます。真実は、Update-Helpコマンドには、単に実行するだけでなく、はるかに多くのオプションがあるということです。それらを表示するには、コマンドのヘルプを表示する必要があります。コマンドのヘルプを表示するには、ヘルプが必要なコマンドの名前をGet-HelpコマンドのNameパラメーターに渡すだけです。次に例を示します。

Get-Help –NameUpdate-Help

とにかく、そのすべてのテキストをどのように解釈するのか疑問に思われるかもしれません。つまり、構文セクションの下に2つの情報があり、あちこちに括弧がたくさんあるのはなぜですか。まず最初に:構文セクションの下に2つの情報ブロックがあるのは、それらがコマンドを実行するさまざまな方法を表しているためです。これらは技術的にはパラメータセットと呼ばれ、一度に1つしか使用できません(異なるセットのパラメータを混在させることはできません)。上のスクリーンショットでは、上部のパラメータセットにはSourcePathパラメータがあり、下部にはないことがわかります。その理由は、すでにダウンロードしたネットワーク上の別のマシンからヘルプファイルを更新する場合は、最上位のパラメーターセット(SourcePathを含むもの)を使用するのに対し、次の場合はソースパスを指定する必要がないためです。 Microsoftから最新のファイルを入手したかっただけです。

2番目の質問に答えるために、ファイルが従う特定の構文があります。これは次のとおりです。

  • パラメータ名とそのタイプを角かっこで囲むと、それはオプションのパラメータであり、コマンドはそれがなくても問題なく機能します。
  • パラメーター名を囲む角括弧は、パラメーターが定位置パラメーターであることを意味します。
  • 山括弧内のパラメーターの右側にあるものは、パラメーターが予期しているデータ型を示しています。

ヘルプファイルの構文を読むことを学ぶ必要がありますが、特定のパラメーターについて不明な点がある場合は、get helpコマンドの最後に–Fullを追加し、パラメーターセクションまでスクロールしてください。ここで、それぞれについてもう少し詳しく説明します。パラメータ。

Get-Help –Name Update-Help –Full

ヘルプシステムについて知っておく必要がある最後のことは、それを使用してコマンドを検出する方法です。これは実際には非常に簡単です。ご覧のとおり、PowerShellはほとんどどこでもワイルドカードを受け入れるため、Get-Helpコマンドと一緒に使用すると、コマンドを簡単に見つけることができます。たとえば、Windowsサービスを処理するコマンドを探しています。

Get-Help –Name * service *

確かに、この情報のすべてが便利ではないかもしれませんが、私を信じて、時間をかけてヘルプシステムの使い方を学んでください。これを何年も行っている上級のスクリプターにとってさえ、それは常に役に立ちます。

セキュリティ

これは、セキュリティについて言及しないと適切な紹介にはなりません。 PowerShellチームにとって最大の懸念は、PowerShellがスクリプトキディにとって最新かつ最大の攻撃ポイントになることです。彼らはこれが起こらないようにするためにいくつかのセキュリティ対策を講じているので、それらを見てみましょう。

最も基本的な保護形式は、PS1ファイル拡張子(PowerShellスクリプトを表すために使用される拡張子)がPowerShellホストに登録されておらず、実際にはメモ帳に登録されているという事実に基づいています。つまり、ファイルをダブルクリックすると、実行される代わりにメモ帳で開きます。

次に、スクリプトの名前を入力するだけではシェルからスクリプトを実行できません。スクリプトへのフルパスを指定する必要があります。したがって、Cドライブでスクリプトを実行する場合は、次のように入力する必要があります。

C:\ runme.ps1

または、すでにCドライブのルートにいる場合は、次を使用できます。

。\ρυνμε.ψ1

最後に、PowerShellには実行ポリシーと呼ばれるものがあり、古いスクリプトを実行するのを防ぎます。実際、デフォルトでは、スクリプトを実行することはできません。スクリプトの実行を許可する場合は、実行ポリシーを変更する必要があります。 4つの注目すべき実行ポリシーがあります。

  • 制限付き :これはPowerShellのデフォルト構成です。この設定は、署名に関係なく、スクリプトを実行できないことを意味します。この設定でPowerShellで実行できるのは、個別のコマンドだけです。
  • AllSigned: この設定により、PowerShellでスクリプトを実行できます。スクリプトには、信頼できる発行元からのデジタル署名が関連付けられている必要があります。信頼できる発行元からスクリプトを実行する前に、プロンプトが表示されます。
  • RemoteSigned :この設定では、スクリプトを実行できますが、インターネットからダウンロードされるスクリプトと構成ファイルには、信頼できる発行元からのデジタル署名が関連付けられている必要があります。ローカルコンピューターから実行されるスクリプトは、署名する必要はありません。スクリプトを実行する前にプロンプ​​トは表示されません。
  • 無制限 :これにより、インターネットからダウンロードしたすべてのスクリプトと構成ファイルを含む、署名されていないスクリプトを実行できます。これには、OutlookおよびMessengerからのファイルが含まれます。ここでのリスクは、署名やセキュリティなしでスクリプトを実行することです。この設定は絶対に行わないことをお勧めします。

現在の実行ポリシーが何に設定されているかを確認するには、PowerShellコンソールを開いて次のように入力します。

Get-ExecutionPolicy

このコースや他のほとんどの状況では、RemoteSignedポリシーが最適です。次に、以下を使用してポリシーを変更してください。

注:これは、管理者特権のPowerShellコンソールから実行する必要があります。

Set-ExecutionPolicy RemoteSigned

今回はこれですべてです。明日、PowerShellをもっと楽しんでください。


免責事項:PowerShellコマンドの適切な用語はコマンドレットであり、今後はこの正しい用語を使用します。この紹介では、それらをコマンドと呼ぶ方が適切だと感じました。


ご不明な点がございましたら、ツイートしてください @taybgibb 、または単にコメントを残します。

Introduction To Managing Windows DNS With PowerShell

Coding 101 87: PowerShell 2/4

Powershell And Selenium

StreamDeck And PowerShell

Black Hat USA 2010: Microsoft Powershell Its Time To Own 1/2

🔴Error Handling In PowerShell


プライバシーとセキュリティ - 最も人気のある記事

XboxOneでプライベートブラウジングモードを使用する方法

プライバシーとセキュリティ May 11, 2025

XboxOneコンソールのMicrosoftEdgeブラウザーには、 プライベートブラウジングモード 「InPrivateBrowsing」という名前。 InPrivateブラ..


Facebookのプロフィールを誰が閲覧したかを確認する方法はありますか?

プライバシーとセキュリティ Nov 10, 2025

未取得のコンテンツ Facebookの友達のどれが最近あなたのプロフィールにアクセスしたか、そして彼らがそこで過ごした時間を教えて�..


MacでNTFSドライブに書き込む方法

プライバシーとセキュリティ Mar 15, 2026

AppleのmacOSは、Windows形式のNTFSドライブから読み取ることはできますが、そのままでは書き込むことはできません。 NTFSドライブへの完�..


Abodeホームセキュリティシステムの通知を管理する方法

プライバシーとセキュリティ Jun 22, 2025

未取得のコンテンツ 特に家から離れているときは、通知なしではセキュリティシステムは完全ではありません。 Abodeホームセキュリ�..


WindowsでVPNに接続する方法

プライバシーとセキュリティ Jun 18, 2025

カバーしました 仮想プライベートネットワークとそれらを使用したい場合 前。 Windowsや他のほとんどのオペレーティングシ..


ウイルス対策のブラウザ拡張機能を使用しないでください。実際には安全性が低下する可能性があります

プライバシーとセキュリティ Jul 5, 2025

ほとんどのウイルス対策プログラム、または「セキュリティスイート」と呼ばれるものは、ブラウザ拡張機能をインストールす�..


最高のVPNプロトコルはどれですか? PPTP vs. OpenVPN vs. L2TP / IPsec vs. SSTP

プライバシーとセキュリティ Apr 4, 2025

をしたい VPNを使用する ? VPNプロバイダーを探している場合、または独自のVPNを設定している場合は、プロトコルを選択す�..


Webページの読み込み中の6種類のブラウザエラーとその意味

プライバシーとセキュリティ Jan 9, 2026

ウェブを閲覧しているときに、ときどきエラーページに遭遇することが保証されています。このガイドは、各エラーページの意味と、�..


カテゴリ