I am executing Powershell DSC script from Powershell. Below is the code snippet
Invoke-Command -ComputerName $public_ip_address -Credential $UserCredential -ScriptBlock {
param ($driveformat)
cd c:/provisioning
Install-PackageProvider -Name NuGet -Force -Scope CurrentUser
Install-Module -Name PSDscResources -Force
Install-Module -Name xStorage -Force
. .\DiskSetup.ps1
disksconfig -outputpath C:\DataDiskSetting -driveFormat $driveFormat
Start-DscConfiguration -Path C:\DataDiskSetting -Wait -Force -Verbose
} -ArgumentList ($driveformat)
While generating configuration I want to pass driveformat as variable "$driveFormat" instead of hardcoding like "NTFS". Somehow its not getting value of $driveformat any idea how we can solve this.
You can add a named Parameter
$driveformatin your script. See below example:Then in the powershell task from pipeline, add
-driveformat "NTFS"in the argument field. See below screenshot: (I defined a pipeline variabledriveformatto hold the value "NTFS")Or, you can add an Argument (eg.
$driveformat = $args[0]) in your scripts. See below:Then you can directly pass the variable ("NTFS") in the Arguments field of powershell task: