PowerShellは、Windows PC で必要なすべての制御を提供し、簡単に習得できます。そこで、コマンド プロンプトをやめ、 (Command Prompt)Windows PowerShellコマンドを使用して、これらの反復的な管理タスクを自動化します。
PowerShellを学習すると、bash シェル内でほとんどのLinux管理タスクを処理する方法もわかります。(Linux)PowerShellは、ほとんどの(PowerShell)Linux ディストリビューション(Linux )に(Distros)見 られるものと似ています。
PowerShell とは
Windows PowerShellは、 (Windows PowerShell)Microsoftがシステム管理者向けに開発したコマンド ライン インターフェイスおよびスクリプト言語です。ただし、他のプログラミング言語よりもはるかに単純であるため、管理者やプログラマーでなくても使用できます。これは通常の英語(English)に似ており、誰もが理解してコンピュータを管理するために使用できます。
Windows PowerShellで使用されるコマンドは、"コマンドレット" と呼ばれます。コマンドレットを使用すると、コンピューターで特定のアクションまたは一連のアクションをアクティブ化できます。これらのアクションは、ワイヤレス ネットワークへのログインなどの単純なものから、特定の反復タスクの自動化などのより複雑なものまであります。
PowerShell を開くには、[スタート(Start )] ボタンを押し、検索ボックスに「powershell 」と入力して、[ (powershell)Windows PowerShell ] を選択します。コマンドライン インターフェイスが開き、コマンドの入力を開始する準備が整います。
この記事では、最も便利で簡単なPowerShellコマンドを 10 個紹介します。
1.Get-ヘルプ
Get-Helpコマンドレットは、PowerShellで開始するのに最適な場所です。できることの概要を提供し、特定のコマンドレットに関する詳細情報が必要な場合にも役立ちます。
(Simply)PowerShellウィンドウを開いてGet-Helpと入力する(Get-Help)だけです。これにより、 PowerShell(PowerShell)とは何かを説明する包括的な概要が開かれ、その機能と構造が理解できるようになります。インターフェイスから直接 Web にアクセスして、より高度なヘルプ ファイルを入手することもできます。後で使用するためにこれらのファイルをダウンロードできます。
しかし、get-help コマンドはこれで終わりではありません。タイプ: Â
Get-Help *
PowerShellは、その時点で使用できるすべてのコマンドレットを一覧表示します。リストは膨大になる可能性があり、表示されるすべてのコマンドレットを学習する必要はありません。しかし、それらを自由に読んで、利用可能なすべての可能性を探ってください。
タイプ:
Get-Help <command name>
かっこは必要ありません。目的のコマンドの名前を入力するだけで、このコマンドレットによって基本的な情報が表示されます。コマンドのさらに詳細な説明については、次のように入力します。
Get-Help <command name> -Full
特定のコマンド タイプの使用方法の例が必要な場合:
Get-Help <command name> -Example
2.Get コマンド
特定のコマンドまたはコマンド セットに関する情報をすばやく取得しますか? Get-Commandコマンドレットがそれを行います。Get-Commandには非常に多くのオプションがありますが、 PowerShellの基本ユーザーとして、それらのほとんどは必要ありません。ここでは、特に使用可能なコマンドをナビゲートするときに役立ついくつかの基本的なコマンドレットを示します。
同じ種類の特定のコマンドレットの一覧が必要な場合:
Get-Command -<CommandType>
たとえば、次の複雑なフレーズは、使用可能なすべてのコマンドレット タイプ コマンドのリストを表示し、名前の名詞のアルファベット順に並べ替えるようにコンピューターに命令します。
Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun
これは、 PowerShell(PowerShell)に複雑なタスクを実行させる、より複雑なコマンドの優れた例です。構文を理解すると、PowerShellを使用することが、多くの場合、コンピューターでいくつかのことを行うのに最も速くて簡単であることがわかります。
特定のコマンドを名前で検索するには、次のように入力します。
Get-Command -Name <name of command>
探しているコマンドの正確な名前がわからないが、名前の一部はわかっている場合は、次のように入力できます。
Get-Command -Name <name of command> -UseFuzzyMatching
このコマンドレットは、<name> フィールドに入力した内容とほぼ一致するコマンドをコンピューターに検索させます。また、スペルミスが発生しやすく、常に自分で修正する必要がない場合にも、このコマンドレットを使用できます。
3.コンテンツの取得
ファイルの内容を表示するには、Get-Content コマンドレットを使用します。コンピューターが見つけられるように、上記のファイルの正確な場所を指定する必要があります。
上記の例では、この目的のために作成されたテスト テキスト ファイルの内容を確認できます。これは単純なコマンドですが、その機能を理解していれば、他のコマンドと組み合わせて、Windows PowerShellを介して非常に強力なタスクを実行できます。
4.取得プロセス
Get-Processコマンドレットは、コンピューターで現在実行中のプロセスに関する情報を提供します。メモリ使用量、CPUサイクル、プロセス ID、およびその他の属性 を確認できます。
このコマンドレットにプロセスの名前を追加すると、特定のプロセスに関する情報を確認できます。たとえば、Discordの申請プロセスに関する情報が必要な場合は、単にGet-Process Discordと入力します。
構文の「Get」プレフィックスを置き換えるだけで、PowerShellを介してプロセスを開始または停止できます。プロセスを開始するには、次のように入力します。
Start-Process <process name or ID> Â Â
プロセスを停止するには、次のように入力します。
Stop-Process <process name or ID>
5. サービスを受ける
システム管理者にとって、Get-Serviceコマンドレットは非常に便利です。この単純なコマンドレットは、システムで現在実行されているすべてのサービスを表示し、それらを制御できるようにします。これは、コンピュータを実行するために現在動作しているすべてのプログラムを確認できることを意味します。
これで、サービス名を使用して制御できるようになりました。Restart-Service <service name>などのコマンドを使用してフリーズしたものを解除し、Stop-Service <service name>を完全に停止し、Start-Serviceを再起動します。
6.Get-Item
特定のアイテムが必要な場合は、オペレーティング システムに統合された検索バーを使用するよりも、PowerShellを使用して見つける方が速い場合があります。(PowerShell)必要なファイルの場所がわかっている場合は特に便利です。次のようにコマンドを使用するだけです。(Simply)
Get-Item C:
これにより、「C:」ハード ドライブ内のファイルのリストが表示されます。さらに具体的に、ユーザーのプロファイルの下にあるすべてのディレクトリを検索するか、「ドキュメント」または「ダウンロード」ディレクトリをさらに深く掘り下げることができます。これを行うには、次のように入力します。
Get-Tem C:\users\<user name>\*
システム ディレクトリなどのコンテナーから子項目を取得する必要がある場合は、コマンドレットGet-ChildItem を使用できます(Get-ChildItem)。このコマンドは、そのコンテナ内のすべてのファイルとディレクトリを表示します。Get-Itemコマンドレットと同様に、コンテナーのパスを指定する必要があります。
アイテムを削除するには、「Get」サフィックスを「Remove」に置き換えることができます。これにより、ファイルやフォルダーからレジストリ キーや関数まで、すべてを削除できます。Remove Remove-Item <location\ name>入力します。このコマンドレットを詳しく説明して、非表示の "読み取り専用" ファイルのみを削除したり、特定のフォルダーやサブフォルダーから項目を削除したりできます。
7.ConvertTo-Html
このコマンドは、.NET オブジェクトをWeb(Web)ブラウザで表示できるHTMLファイルに変換するのに役立ちます。これは出力コマンドレットであり、他のコマンドレットとうまく連携することを意味します。他のコマンドレットの末尾に追加して、特定のファイル パスを含めるだけです 。(Simply)
たとえば、ローカル コンピュータの現在のすべてのプロセスの名前、パス、および会社を表示 するHTMLファイルを作成する場合は、次のように入力します。(HTML)
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm
filename.htm を任意のファイル名に置き換え(Replace)ます。
作成したファイルを開くには、Invoke-Item コマンドレット(Invoke-Item cmdlet )と <file name.htm>を使用します。内容は下の画像のようになります。
8. セット実行ポリシー
ローカルのPowerShellスクリプトを実行する場合は、 (PowerShell)PowerShell自体の実行ポリシーを変更する必要があります。Windowsコンピューターでは、実行ポリシーは常に制限されている(Windows)ため、 RemoteSigned(RemoteSigned)またはUnrestrictedに(Unrestricted)変更する必要があります。LinuxやMacなどのWindows以外のコンピューターでは、通常は [制限なし] に設定されており、(Unrestricted)変更できません。
PowerShell実行ポリシーの詳細については、次のように入力してください。
ヘルプ セット実行ポリシー(help Set-ExecutionPolicy)
PowerShellは、コンピューターの実行ポリシーに関するヘルプ ファイルを表示するか、存在しない場合は通知します。ただし、オンラインでフォローして読むことができるリンクも提供します。
ポリシーをRemoteSignedに設定するには、次のように入力します。
Set-Executionpolicy RemoteSigned
Unrestricted タイプに設定するには:
Set-Executionpolicy Unrestricted
実行ポリシーの現在の設定を確認するには、次のように入力します。
Get-Executionpolicy
実行ポリシーは PowerShell のセキュリティ戦略の一部であるため、変更の確認を求められます。続行することが確実な場合にのみ、Yを入力してください。(Y)
9. オブジェクトの選択
このコマンドは、オブジェクトとオブジェクトのセット、一意のオブジェクト、および配列内の特定の位置にあるオブジェクトを選択するために使用されます。選択するオブジェクトを指定するために使用できるさまざまなパラメーターがあります。その中には、プロパティ、数値、および特定の入力オブジェクトがあります。
プロパティ属性でオブジェクトを選択するには、名前、ID、またはCPUなどの属性を指定する必要があります。属性をグループ化することもできますが、コマンドを入力するときはコンマで区切る必要があります。アクション タイプで Select-Object コマンドレットを表示するには、次のようにします。
Get-Process | Select-Object -Property ProcessName, Id, CPU
以下に示すように、 PowerShellは現在のすべてのプロセスとその属性を一覧表示します。
-EpandProperty コマンドを使用して、特定の属性に関する詳細情報を取得できるようになりました。ProcessName属性の型のModulesプロパティに関する詳細が必要な場合:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list
コマンドの「Format-list」出力は、結果をフォーマットして読みやすくするためにあります。
10.エクスポート-CSV
Get-Commandコマンドレットで見たように、 PowerShellコマンドのリストが長くなることがあります。長いリストと多くの情報は読みにくく、より整理された方法で表示する必要があります。これを行うには、すべてのデータをCSVファイルにエクスポートします。Export- (CSV)CSV関数を使用して、 PowerShellで直接これを行うことができます。
たとえば、コマンドレットGet-Commandを実行すると、その時点でPowerShellで使用できるすべてのコマンドレットの長いリストが表示されることがわかりました。Get-CommandとExport-CSVを組み合わせて、 Excelなどのアプリが認識できる 名前、ソース、バージョンなどの値をカンマで区切った詳細なリストを作成できます。
これを行うには、PowerShellコマンド プロンプトに次のコマンドを入力しますが、任意のパスを設定でき、ファイルに別の名前を付けることができることに注意してください。
Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv
Excelでリストを開くことができるようになりました。次の図のようなものが表示されます。
10 Easy PowerShell Commands All Windows Users Should Know
PowerShell gives you all the control you need over your Windows PC, and it’s easy to learn. So ditch Command Prompt and use Windows PowerShell commands to automate those repetitive administrative tasks.
Learning PowerShell will also teach you how to handle most Linux administrative tasks inside the bash shell. PowerShell is similar to what you find in most Linux Distros.
What Is PowerShell?
Windows PowerShell is a command-line interface and scripting language developed by Microsoft for system administrators. But you don’t have to be an admin or programmer to use it because it is much simpler than other programming languages. It is similar to regular English, and everyone can understand it and use it to administer their computers.
The commands used in Windows PowerShell are known as “cmdlets.” They will let you activate a specific action, or series of actions, on your computer. These actions can be simple, like logging into a wireless network, or more complex, like automating specific repetitive tasks.
To open PowerShell, press the Start button, type “powershell” into the search box, and select Windows PowerShell. You’ll open to the command-line interface, where you’re ready to start typing commands.
In this article, we’ll go over ten of the most useful and easy PowerShell commands.
1. Get-Help
The Get-Help cmdlet is a great place to start in PowerShell. It provides an overview of what you can do and is also great when you need more information on a particular cmdlet.
Simply open the PowerShell window and type Get-Help. This will open up a comprehensive overview that will teach you what PowerShell is, and you will understand its functionality and structure. You also can access the web for more advanced help files directly through the interface. You can download these files for later use.
But that’s not the end of the get-help command. Type:
Get-Help *
PowerShell will list all the cmdlets you can use at that moment. The list will probably be huge, and you don’t need to learn all the displayed cmdlets. But feel free to read them and explore all the possibilities available to you.
Type:
Get-Help <command name>
You don’t need the brackets, simply type the name of the command you are interested in, and this cmdlet will give you the basic info about it. For an even more detailed explanation of a command, type:
Get-Help <command name> -Full
If you need an example of how to use a certain command type:
Get-Help <command name> -Example
2. Get-Command
Do you want to retrieve information about a specific command, or set of commands, quickly? The Get-Command cmdlet will do that for you. There are so many options within Get-Command, but you, as a basic user of PowerShell, don’t need most of them. Here are some basic cmdlets that will be helpful, especially when navigating the available commands.
If you want a list of specific cmdlets of the same type:
Get-Command -<CommandType>
For example, this complex phrase will order your computer to display a list of all cmdlet type commands available and to sort them by alphabetical order of the noun in their name:
Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun
This is an excellent example of a more complex command that will make PowerShell execute a complicated task. Once you understand the syntax, you will see that using PowerShell is often the fastest and easiest to get some things done on your computer.
If you want to find a specific command by its name, simply type:
Get-Command -Name <name of command>
If you don’t know the exact name of the command you’re looking for, but you know part of the name, you can type:
Get-Command -Name <name of command> -UseFuzzyMatching
This cmdlet will task your computer to find commands that closely match what you typed in the <name> field. You also can use this cmdlet if you are prone to misspellings and don’t want to be bothered with correcting yourself all the time.
3. Get-Content
If you want to see the content of a file, use the Get-Content cmdlet. You will need to specify the exact location of the said file so your computer can find it.
In the example above, you can see the content of a test text file made for this purpose. This is a straightforward command, but if you know what it does, you can combine it with other commands and perform really powerful tasks through Windows PowerShell.
4. Get-Process
The Get-Process cmdlet will give you information on currently running processes on your computer. You can see the memory usage, CPU cycles, process ID, and other attributes.
If you add the name of the process to this cmdlet, you can see the information on a specific process. For example, if you want information on the Discord application process, simply type Get-Process Discord.
You can start or stop processes through PowerShell by simply replacing the “Get” prefix of the syntax. To start a process, type:
Start-Process <process name or ID>
To stop a process, type:
Stop-Process <process name or ID>
5. Get-Service
As a system administrator, you may find the Get-Service cmdlet very useful. This simple cmdlet will display all the services currently running on your system and allow you to control them. This means you can see all the programs currently working to make your computer run.
Now you can use the service name to control it. Use commands such as Restart-Service <service name> to unstick the frozen ones, Stop-Service <service name> to stop them completely, and Start-Service to start them again.
6. Get-Item
If you need a specific item, it might be faster to find it through PowerShell than by using a search bar integrated into your operating system. It is especially convenient if you know the location of the file you need. Simply use the command in this way:
Get-Item C:
This will bring you the list of files in the “C:” hard drive. You can be even more specific and search in all the directories under the user’s profile or go deeper into the “documents” or “downloads” directories. To do this, type:
Get-Tem C:\users\<user name>\*
If you need to retrieve a child item from a container, such as a system directory, you can use the cmdlet Get-ChildItem. This command will show you all the files and directories inside that container. As with the Get-Item cmdlet, you will need to specify the container’s path.
To delete items, you can replace the ”Get” suffix with “Remove.” This will allow you to delete everything, from files and folders to registry keys and functions. Type Remove-Item <location\ name>. You can elaborate this cmdlet and delete only hidden and “read-only” files or delete items from specific folders and subfolders.
7. ConvertTo-Html
This command will help you convert a .NET object into an HTML file that can be displayed in Web browsers. This is an output cmdlet which means that it works great with other cmdlets. Simply add it to the end of other cmdlets and include a specific file path.
For example, if you want to create an HTML file that displays the name, path, and the company of all the current processes of a local computer, type:
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm
Replace filename.htm with any file name you want.
To open the created file, use the Invoke-Item cmdlet plus <file name.htm>. The contents should look something like the image below.
8. Set-Executionpolicy
If you want to run local PowerShell scripts, you will have to change the execution policy of the PowerShell itself. On Windows computers, the execution policy is always restricted, and you will need to change it to RemoteSigned or Unrestricted. On non-Windows computers such as Linux or Mac, it is typically set to Unrestricted, and it can’t be changed.
If you want to learn more about the PowerShell execution policy, simply type:
help Set-ExecutionPolicy
The PowerShell will display the help files about execution policy on your computer or notify you if there are none. But it will also provide you with a link that you can follow and read about it online.
To set the policy to RemoteSigned, simply type:
Set-Executionpolicy RemoteSigned
To set it to Unrestricted type:
Set-Executionpolicy Unrestricted
To check the current setting for the execution policy, type:
Get-Executionpolicy
Because execution policies are part of PowerShell’s security strategies, it will ask you for confirmation of the change. Type Y only if you are sure you want to proceed.
9. Select-Object
This command is used to select objects and sets of objects, unique objects, and objects in a specific position in an array. There are different parameters that you can use to specify the objects you want to select. Among them are properties, numeric values, and specific input objects.
To select objects by property attribute, you will need to specify the attributes such as name, ID, or CPU. You can even group the attributes, but you must separate them with commas when typing in the command. To see the Select-Object cmdlet in action type:
Get-Process | Select-Object -Property ProcessName, Id, CPU
The PowerShell will list all the current processes and their attributes, as shown below.
You can now use the -EpandProperty command to get detailed information about the specific attribute. If you want details about the Modules property of the ProcessName attribute’s type:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list
The “Format-list” output of the command is there to make the results formatted and readable.
10. Export-CSV
Sometimes the PowerShell commands result in long lists, as we saw with the Get-Command cmdlet. Long lists and lots of information are difficult to read, and you will want it in a more organized manner. To do this, export all the data into a CSV file. You can do this directly in PowerShell by using the Export-CSV function.
For example, we saw that the cmdlet Get-Command gives us a long list of all available cmdlets we can use in PowerShell at that moment. You can combine the Get-Command and Export-CSV to create a detailed list with comma-separated values such as name, source, and version that apps like Excel can recognize.
To do this, type the following command into the PowerShell command prompt but note that you can set any path you want, and you can name your file differently:
Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv
You can now open the list in Excel, and you should see something similar to the following image.