☁️
CTHFM: Azure
  • Welcome
  • Getting Started
    • Account Setup
      • Account Creation Instructions
  • Azure Fundamentals
    • Azure Fundamentals Overview
      • Azure Documentation
      • Azure Entra
      • Azure Hierarchy
      • Identities
      • Azure Entra Roles
      • Azure RBAC
      • Azure Licensing Overview
        • Azure Entra ID Premium Licenses Comparison
      • Azure Shared Responsibility Model
      • Azure Frameworks
      • Azure Security Services
      • Conditional Access Policies
        • How Conditional Access Policies Work
        • Benefits of Conditional Access
        • Best Practices for Conditional Access
        • Conditions for Conditional Access
        • Conditional Access Controls
        • Sign-In Risk and Identity Protection
        • Conditional Access Session Control
        • Name Locations IP Location
      • Azure Quotas
      • Azure Tokens
        • Access Tokens
        • ID Tokens
        • Refresh Tokens
          • Invalidate Refresh Tokens
        • Primary Refresh Tokens
        • Continuous Access Evaluation (CAE)
        • Token Protection: Conditional Access (Public Preview)
  • Azure CLI
    • Introduction to Azure CLI
    • Installing Azure CLI
    • CLI Commands
    • Resource Group Management
    • Creating and Managing Resources with Azure CLI
    • Managing IAM
    • Azure CLI Automation
    • Monitoring and Troubleshooting in Azure CLI
    • Azure CLI Overview
      • Azure CLI: Linux
      • Azure CLI: Windows
      • Azure CLI: MacOS
  • KQL
    • KQL Overview
      • KQL Introduction
      • Data Types
      • Quick Reference
      • Render
      • Basic Queries
  • Powershell
    • PowerShell for Azure
      • Powershell Documentation
      • Powershell Basics
      • Understanding Powershell Variables
      • Understanding Cmdlets
      • Powershell Console & ISE
      • Powershell: Entra Module
        • Module Reference & Getting Started
      • Powershell: Azure Module
        • Installation Instructions
        • Powershell Azure CLI: Windows
        • Powershell Azure CLI: Linux
        • Powershell Azure CLI: MacOS
        • Example Azure Cmdlets
  • Bicep
    • Bicep File Structure
    • Variable Types
  • Azure Logging References
    • Logging
      • Log Retention Strategies
      • Azure Log Types
      • Azure Activity Logs
        • Administrative Event Schema
        • Service Health Notification Schema
        • Resource Health
        • Alert Category
        • Autoscale
        • Security
        • Recommendation
        • Policy
      • Entra ID Logging
        • Identity Based Logs
          • Audit Logs
          • Sign-In Logs
            • AADNonInteractiveUserSignInLogs
            • AADManagedIdentitySignInLogs
            • AADServicePrincipalSignInLogs
            • First Party Sign-In Activity
          • Provisioning Logs (AADProvisioningLogs)
          • Microsoft Graph Activity
          • Identity Protection
            • Risk Detections
            • AADRiskyServicePrincipals
            • AADRiskyUsers
            • AADUserRiskEvents
            • AADServicePrincipalRiskEvents
        • Additional Entra ID Logs
      • Azure Key Vault
        • Azure Key Vault Logging Overview
      • Network Watcher
        • RBAC Permissions
        • Flow Log Types
          • NSG Flow Log Schema
          • VNET Flow Log Schema
        • Enabling Logs
          • NSG Flow Logs
          • VNET Flow Logs
        • Packet Capture
          • Packet Capture: VM
          • Packet Capture: Scale Sets
      • Compute Resources
        • Azure Monitor Agent
        • VM Insights
          • VM Insights Tables
      • Storage Accounts
        • Storage Account Logging
          • File
            • Enable StorageFileLogs
            • StorageFileLogs
          • Blob
            • Enable Blob Logging
            • StorageBlobLogs
          • Queue
            • Enable Queue Logging
            • StorageQueueLogs Table
          • Table
            • Enable Table Logging
            • StorageTableLogs Table
      • Azure App Service
        • Log Types
        • Enabling Logging
      • Azure Monitor
        • Resource Logs
          • Resource Log Top Level Documentation
        • Log Analytics Workspace
          • Setup
        • Workbooks
        • Dashboards
        • Alerts
        • Azure Monitor Documentation
      • Defender for Cloud
      • Intune
      • Sysmon
      • Purview Audit Log Schema
      • Kubernetes Audit Log (AKS)
  • Threat Hunting
    • Threat Hunting in Azure
      • Threat Hunting Introduction
      • Threat Hunting Process
        • Hypothesis Generation
        • Investigation
        • Identification
        • Resolution & Follow Up
      • Pyramid of Pain
      • Azure Threat Hunting Ideas
      • Hands On Threat Hunting Examples
      • OSINT Feeds
  • Sigma
    • Sigma Rule Structure
  • Microsoft Defender TI
    • Microsoft Defender Threat Intelligence
      • Data Sets
      • Reputational Scoring
      • Analyst Insights
      • Microsoft Defender TI: Copilot Integration
  • MITRE Att&ck
    • MITRE Att&ck
      • MITRE Att&ck Concepts
      • MITRE Data Sources
      • MITRE Att&ck Mitigations
      • MITRE Att&ck: Azure
        • MITRE Att&CK: Azure Security Control Mapping
  • Microsoft Resources
    • Microsoft Incident Response Ninja Hub
    • Microsoft Defender XDR Ninja Hub
  • Azure Threat Research Matrix (ATRM)
  • Security Research & Resources
    • Azure Goat
    • Azure Security Research
      • Azure Related CVEs
  • Defender XDR
    • Defender XDR Overview
    • Defender XDR Licensing
    • Defender XDR Default Retention
    • Defender XDR Advanced Hunting Table Schemas
    • Automated Response Requirements
    • Supported Response Actions
  • Azure Sentinel
    • Sentinel Overview
    • Azure Sentinel Deployments
    • Supported Data
    • Workbook, Playbook, Notebook Comparison
    • Sentinel Workbooks
    • Entities
    • User and Entity Behavior Analytics
    • Anomaly Detection
    • Mult-Stage Attack Detection
    • Sentinel: Az CLI
  • Microsoft Defender
    • Microsoft Defender for Cloud References
    • Defender for Cloud: Az CLI
  • Azure Policy
    • Azure Policy
    • Azure Policy Components
    • Azure Policy Rules
    • Scope Azure Policy
    • Policy Assignments
    • Policy Effect
    • Initiative Definition
    • Policy Parameters
    • Remediation Task Structure
    • Use Cases for Azure Policy
    • Azure Policy: Az CLI
  • Intune
    • Intune Overview
    • Intune Licensing
    • Intune API Permission Scopes
    • Intune Sample Script Resources
  • Intune Logging
    • Configure Logging
    • Logging Schema References
    • Intune Queries and Resources
  • Windows Host Security
    • Windows System Architecture and OS Fundamentals
    • SysInternals
    • Basic vs Advanced Security Auditing
    • Sysmon
  • Adversary Emulation
    • AzureHound
    • AADInternals
      • Install
    • RoadTools
      • Install
    • Oh365UserFinder
    • GraphRunner
  • Incident Response
    • Incident Response
      • Azure IR Program Development Cheat Sheet
      • Azure IR Playbooks (MS Guidance)
      • Ransomware (MS Guidance)
  • Automation
    • Automation Overview
    • Logic Apps
      • How Logic Apps Work
      • Logic App Types
      • Triggers
      • Connectors
      • Conditional Logic and Control Flow
      • APIs in Logic Apps
      • Handling Large Workflows with Stateful Logic Apps
      • External Service Integration
      • Securing, Managing, and Scaling Azure Logic Apps
      • Logic Apps: Az CLI
  • Packet Analysis
    • Wireshark Cheatsheet
    • TShark Cheatsheet
    • TCPDUMP Cheatsheet
    • Protocol Analysis Basics
    • HTTP Response Code Cheatsheet
    • RFC Protocol Mappings
    • PCAP Acquisition
  • Detection Lab
    • Detection Lab Introduction
    • Account Creation Instructions
    • Enable MFA Within Azure Tenant
    • Create an Azure Admin With Cloud Shell
    • Setup and Install Instructions
  • VSCode and Code Setup
  • Deploying Code
  • Enabling Logs for Log Analytics Workspace
  • Logging Into Windows VM
  • Verifying Logs in Log Analytics Workspace
  • Creating Detections: Azure Monitor
  • Cost Management: Billing Alarms
Powered by GitBook
On this page
  • Overview:
  • Common Cmdlets
  • Using the Pipeline
  • Filtering and Formatting Output
  • Practical Exercises
  1. Powershell
  2. PowerShell for Azure

Understanding Cmdlets

Overview:

The following section goes over what cmdlets are and common cmdlets utilized within Powershell.

Common Cmdlets

What are Cmdlets?

  • Cmdlets are lightweight commands used in the PowerShell environment. They follow a Verb-Noun naming pattern.

Common Cmdlets:

  • Get-Help: Provides help information for cmdlets.

    Get-Help Get-Process
  • Get-Command: Lists all available cmdlets and functions.

    Get-Command
  • Get-Service: Retrieves the status of services on a system.

    Get-Service
  • Get-Process: Gets the processes that are running on a system.

    Get-Process
  • Set-Variable: Sets the value of a variable.

    Set-Variable -Name "testVar" -Value "Hello, PowerShell"
  • Remove-Item: Deletes files, directories, or registry keys.

    Remove-Item -Path "C:\Temp\test.txt"

Examples Using Cmdlets:

  • Retrieve a list of all services:

    Get-Service
  • Get detailed help for a cmdlet:

    Get-Help Get-Process -Detailed
  • List all commands available in your PowerShell session:

    Get-Command

Using the Pipeline

What is a Pipeline?

  • The pipeline (|) is a powerful feature in PowerShell that allows you to pass the output of one cmdlet as input to another cmdlet.

Basic Pipeline Usage:

  • Example:

    Get-Process | Sort-Object -Property CPU

Filtering Output:

  • Use Where-Object to filter objects based on property values.

  • Example:

    Get-Process | Where-Object { $_.CPU -gt 100 }

Selecting Properties:

  • Use Select-Object to select specific properties of objects.

  • Example:

    Get-Process | Select-Object -Property Name, CPU

Sorting Output:

  • Use Sort-Object to sort objects by property values.

  • Example:

    Get-Process | Sort-Object -Property CPU -Descending

Example: Using Multiple Cmdlets in a Pipeline

Get-Service | Where-Object { $_.Status -eq "Running" } | Sort-Object -Property DisplayName

Filtering and Formatting Output

Filtering Data:

  • Where-Object: Filters objects based on a specified condition.

    Get-Process | Where-Object { $_.CPU -gt 100 }

Formatting Data:

  • Format-Table: Formats output as a table.

    Get-Process | Format-Table -Property Name, CPU -AutoSize
  • Format-List: Formats output as a list.

    Get-Process | Format-List -Property Name, CPU

Examples:

  • List all running processes using a table format:

    Get-Process | Format-Table -Property Name, CPU -AutoSize
  • List all services that are running, sorted by display name:

    Get-Service | Where-Object { $_.Status -eq "Running" } | Sort-Object -Property DisplayName

Practical Exercises

Exercise 1: Using Basic Cmdlets

  • Retrieve a list of all processes running on your system:

    Get-Process
  • Retrieve detailed help for the Get-Service cmdlet:

    Get-Help Get-Service -Detailed

Exercise 2: Using the Pipeline

  • List all running processes and sort them by CPU usage:

    Get-Process | Sort-Object -Property CPU
  • Filter the processes to show only those using more than 100 units of CPU:

    Get-Process | Where-Object { $_.CPU -gt 100 }

Exercise 3: Filtering and Formatting Output

  • List all running services and format the output as a table:

    Get-Service | Where-Object { $_.Status -eq "Running" } | Format-Table -Property DisplayName, Status -AutoSize

Exercise 4: Combining Cmdlets in a Pipeline

  • Combine Get-Service, Where-Object, and Format-Table to list all running services, sorted by their display names:

    Get-Service | Where-Object { $_.Status -eq "Running" } | Sort-Object -Property DisplayName | Format-Table -Property DisplayName, Status -AutoSize

Last updated 9 months ago