Skip to content

Commit 383d134

Browse files
author
James Brundage
committed
Adding [Management.Automation.Language.ScriptRequirements].ToString() (Fixes #234)
1 parent 0001b44 commit 383d134

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
$requirement = $this
2+
if ($requirement.RequirementPSVersion) {
3+
"#requires -Version $($requirement.RequirementPSVersion)"
4+
}
5+
if ($requirement.IsElevationRequired) {
6+
"#requires -RunAsAdministrator"
7+
}
8+
if ($requirement.RequiredModules) {
9+
"#requires -Module $(@(foreach ($reqModule in $requirement.RequiredModules) {
10+
if ($reqModule.Version -or $req.RequiredVersion -or $req.MaximumVersion) {
11+
'@{' + $(@(foreach ($prop in $reqModule.PSObject.Properties) {
12+
if (-not $prop.Value) { continue }
13+
if ($prop.Name -in 'Name', 'Version') {
14+
"Module$($prop.Name)='$($prop.Value.ToString().Replace("'","''"))'"
15+
} elseif ($prop.Name -eq 'RequiredVersion') {
16+
"MinimumVersion='$($prop.Value)'"
17+
} else {
18+
"$($prop.Name)='$($prop.Value)'"
19+
}
20+
}) -join ';') + '}'
21+
} else {
22+
$reqModule.Name
23+
}
24+
}) -join ',')"
25+
}
26+
if ($requirement.RequiredAssemblies) {
27+
"#requires -Assembly $($requirement.RequiredAssemblies -join ',')"
28+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
System.Management.Automation.Language.ScriptRequirements

0 commit comments

Comments
 (0)