Contents

PowerShell は、どんなに頑張っても Windows の設定ではできない 3 つのことを実現します

<本文>/images/52880885757_aff84061b0_o-1.jpg

私はコマンドラインをできる限り避けていました。特に PowerShell は、何か非常に問題が発生した場合にのみ触れるものの 1 つであるように感じられました。それは時代遅れに見え、必ずしも歓迎されているわけではなく、一見すると、何かを成し遂げるためには大量の不可解なコマンドを覚える必要があるように感じられます。しかし、しばらく使ってみると、思ったほど複雑ではないことがわかりました。インターフェイスを通過すると、PowerShell は Windows と対話するためのより高速かつ直接的な方法であり、場合によっては、通常のインターフェイスではアクセスできない機能にアクセスできるようになります。

それが私が最も驚いた部分です。実際、Windows ではまだうまく処理できない、または設定やファイル エクスプローラーでまったく公開されていない便利な日常タスクがあります。 PowerShell はこれらのギャップを静かに埋めます。これを利用するためにスクリプトの専門家になる必要もありません。いくつかのコマンドを使用すると、他ではアクセスできない Windows の組み込み機能のロックが解除され、インターフェイスが残したギャップが修正されます。

Windows が検出できない重複ファイルを検索します

PowerShell を使用してファイルを比較し、完全に一致するものを発見する

Windows には、重複ファイルを見つける実際の方法がまだ提供されていません。ファイル エクスプローラーで並べ替えや検索はできますが、実際にファイルを比較して何が同一であるかを確認する機能は組み込まれていません。何年にもわたるダウンロード、写真のバックアップ、またはコピーしたフォルダーがある場合、この問題はすぐに問題になります。これは、実際に遭遇すると明らかになるギャップの 1 つです。

PowerShell は、本質的にファイルの内容に基づく一意のフィンガープリントであるハッシュを使用してファイルを比較することで、そのギャップを埋めます。 2 つのファイルのハッシュが同じであれば、名前が異なっていても、それらは同一です。これを試すには、エクスプローラーでスキャンするフォルダーを開き、アドレス バーをクリックして powershell.exe と入力し、Enter キーを押します。これにより、PowerShell がその場所で直接起動されるため、ファイル パスを扱う必要がなくなります。

そこから、すべてのファイルをスキャンし、ハッシュを生成し、一致をグループ化する単一のコマンドを実行します。


Get-ChildItem -Recurse | Get-FileHash | Group-Object Hash | Where-Object {$_.Count -gt 1} | ForEach-Object {$_.Group | Select-Object Path}

これにより、重複ファイルのセットが数秒で返されます。結果には、一致するファイルが連続してリストされ、各ペアまたはグループが異なる場所に保存された同一のファイルを表します。派手さはありませんが、Windows に組み込まれているものよりもはるかに正確で、一度使用すると、手動での操作に戻るのは困難です。

/images/product_337710_product_shots1.jpg

Windows 11 プロ

$29.99

$199

$169.01 節約

Windows 11 Pro を 88% の大幅割引価格で入手し、PC エクスペリエンスを向上させましょう。

組み込みアプリを削除する Windows ではアンインストールできません

PowerShell を使用して、隠れたアプリや頑固なアプリを見つけて削除する

Windows にはアプリをアンインストールする方法がありますが、削除する必要があるアプリのみをアンインストールします。多くの組み込みアプリは、特にすべてのユーザーにおいて、設定にまったく表示されないか、完全に削除できません。システムをクリーンアップしようとしたり、決して使わないものを処分しようとしている場合、これはイライラさせられます。

PowerShell を使用すると、Windows が非表示にするものも含め、インストールされているすべてのアプリ パッケージを完全に可視化できます。ここで適切に使用するには、PowerShell を管理者として開く必要があります。最も簡単な方法は、スタート キーを押して PowerShell と入力し、右クリックして 管理者として実行 を選択することです。管理者アクセスがないと、一部のアプリが表示されなかったり、削除できなかったりします。

開いたら、次を実行します。


Get-AppxPackage -AllUsers

これにより、設定 に表示されるものだけでなく、システムにインストールされているすべてのものが表示されます。削除するアプリが見つかったら、その PackageFullName をコピーして実行します。


Remove-AppxPackage -Package <PackageFullName>

アンインストール をクリックするよりも手動ですが、特にインターフェイスが操作しないアプリを扱う場合、インターフェイスが操作されないことを制御できます。

一部のコア システム アプリは削除不可としてマークされているため、すべてのアプリを削除できるわけではありません。

Windows に表示されないスタートアップ プログラムを参照してください

PowerShell を使用して、PC の起動時に起動するすべてのものを表示します

/images/stratupl.png

Windows ではタスク マネージャーに スタートアップ タブが表示されますが、そこにはシステムの起動時に実際に実行される内容の一部しか表示されません。スケジュールされたタスク、レジストリベースの起動、通常のインターフェイスには決して表示されないその他のバックグラウンドプロセスなど、多くのエントリがリストの外に存在します。そのため、実際にシステムの速度を低下させているものや、舞台裏で実行されているものを理解することが難しくなります。これは、Windows が全体像ではなく簡略化されたビューを提供するもう 1 つの例です。

PowerShell を使用すると、完全なビューが得られます。次のコマンドを実行します。


Get-CimInstance Win32_StartupCommand

起動時に起動するように構成されているもののより完全なリストと、コマンド パスや起動元などの詳細が表示されます。このリストを取得したら、見覚えのないものをスキャンし、そのファイルの場所を追跡し、そこに存在する必要があるかどうかを判断できます。疑わしいものや不必要なものがある場合は、タスク マネージャー、レジストリ、またはアプリ自体から無効にするか削除できます。 GUI ほど洗練されていませんが、全体像を把握できるため、システムで実際に何が始まっているのかを理解し、制御することがはるかに簡単になります。

PowerShell は見た目ほど恐ろしいものではありません

PowerShell は最初は時代遅れで少し怖く見えるかもしれませんが、一度それを乗り越えると、他の方法ではアクセスできない Windows の部分が開かれます。真の価値を得るために、スクリプトを学習したり、何十ものコマンドを覚えたりする必要もありません。いくつかの対象を絞ったコマンドを使用すると、Windows がまだ解決していない問題を解決でき、システムの動作をよりよく把握できるようになり、日常のタスクがはるかに簡単になります。それはインターフェイスを置き換えることではなく、Windows が不足しているギャップを埋めることです。

*️⃣ 出典リンク:

コマンド ライン、スクリプトの専門家になる必要はありません。何年にもわたるダウンロード、写真のバックアップ、フォルダーのコピー、PowerShell を開く必要はありません。