In this hands-on lab, you will create a PowerShell script that outputs process information to a file. You will have to use the appropriate PowerShell commands to filter the processes that are consuming more than 2 MB of memory. Additionally, you will be required to output only the `WorkingSet` and `ProcessName` columns to the file. Once you’ve created the file, you can view the contents using the `Get-Content` cmdlet.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Connect to the Linux VM and Create the File
Use the public IP and credentials from the lab instructions page to connect to the VM:
ssh cloud_user@<PUBLIC_IP>
Use a text editor (e.g., Vim) to create a file named
processinfo.ps1
.
- Create the PowerShell Script
- Within the
processinfo.ps1
file, type in the commandGet-Process
and store it in the variable$ps
. - Use pipelines to pass the output of
Get-Process
toWhere-Object
and only take theWorkingSet
object type. - Use pipelines again to pass the output of the
WorkingSet
object toFormat-Table
. Only output theWorkingSet
column and theProcessName
column, and store everything in the variable$psinfo
. - Use pipelines one final time to output the file (using
out-file
) to a CSV file namedprocessinfo.csv
. - Save the file and exit Vim (hint: enter
:wq!
).
- Within the
- Run the Script and Verify the Contents
- Run the PowerShell script by typing in
./processinfo.ps1
from the same directory as the file. - Open the file using the
Get-Content
cmdlet.
- Run the PowerShell script by typing in