Getting Started with PowerShell Option Inputs

PowerShell is the dominant method of automating tasks and scripting changes for Windows sysadmins. This article covers getting started with some basic PowerShell usage and how to pass optional customization...
1 min read
Last updated February 21, 2022

PowerShell is the dominant method of automating tasks and scripting changes for Windows sysadmins. This article covers getting started with some basic PowerShell usage and how to pass optional customization values into scripts.

At the command prompt arguments

Arguments

Arguments refer to the options that are passed to a script that can then be acted upon. A common usage pattern with Varonis products is that a rule is triggered which in turn calls a script – passing along the relevant details as arguments.

Example: When a DatAlert rule for X is bypassed the DatAlert passes [USER] [FOLDER_PATH] to the specified script.

This lets you codify your responses to user actions and can help make your life as a sysadmin easier.

PowerShell scripts are launched and edited from the PowerShell Interactive Script Editors (ISE)

  1. Write-Host "Arguments:" $args.Length;
  2. foreach ($arg in $args){
  3. Write-Host "Argument: $arg";
  4. }
Write-Host "Arguments:" $args.Length;
foreach ($arg in $args){
Write-Host "Argument: $arg";
}

Arguments are very flexible in that you don’t need to know how many will be passed in ahead of time. This is useful for situations where you’ll be taking the same action and applying it to a set of passed in things (ex. a series of usernames to grant or remove file access to). Arguments are accessed within your script in the order they were passed in (denoted in array syntax).

$arg[0] returns the value of the first argument $arg[1] returns the second.

 

Parameters

Parameters are arguments more formal big brother: they help make your scripts easier to maintain by explicitly assigning incoming options to variables.

To function, the parameters definition must be the first executable line in the script.

Example parameters block:

  1. Param(
  2. [string]$userName,
  3. [string]$filePath
  4. )
Param(
[string]$userName,
[string]$filePath
)

Further into your script you can then reference the $userName and $filePath variables where needed.

What should I do now?

Below are three ways you can continue your journey to reduce data risk at your company:

1

Schedule a demo with us to see Varonis in action. We'll personalize the session to your org's data security needs and answer any questions.

2

See a sample of our Data Risk Assessment and learn the risks that could be lingering in your environment. Varonis' DRA is completely free and offers a clear path to automated remediation.

3

Follow us on LinkedIn, YouTube, and X (Twitter) for bite-sized insights on all things data security, including DSPM, threat detection, AI security, and more.

Try Varonis free.

Get a detailed data risk report based on your company’s data.
Deploys in minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

anatomy-of-a-salesforce-data-breach:-stopping-user-impersonation
Anatomy of a Salesforce Data Breach: Stopping User Impersonation
How a bad actor systematically impersonates users to exfiltrate millions of Salesforce records.
why-data-centric-security-is-important-for-the-dod
Why Data-Centric Security is Important for the DoD
Learn how Varonis protects DoD environments by utilizing various approaches to secure sensitive data.
varonis-incident-response:-stopping-microsoft-365-direct-send-abuse 
Varonis Incident Response: Stopping Microsoft 365 Direct Send Abuse 
Learn how Varonis Threat Labs uncovered a critical Microsoft 365 Direct Send exploit, and how organizations leveraged Varonis Incident Response to protect themselves from attack. 
creating-custom-gpts-and-agents-that-balance-security-and-productivity
Creating Custom GPTs and Agents That Balance Security and Productivity
Custom GPTs and AI agents compound productivity, but with that comes added risk. Learn about ChatGPT's custom GPTs and how to build them with data security in mind.