我使用PowerShell 5.1并编写脚本供其他管理员使用。当我的函数使用了错误的语法时,我需要能够使用错误代码中的正确语法进行响应。我该怎么办?
function Get-2008Servers {
[CmdletBinding()]
Param(
[string]$ReferenceDomain = ""
)
$ForestObj = Get-ADForest -Server $ReferenceDomain
foreach ($Domain in $ForestObj.Domains) {
Get-ADComputer -Filter 'OperatingSystem -like "*200*"' -Server $ReferenceDomain -Properties Name,lastlogondate,operatingsystem,OperatingSystemServicePack,canonicalname |
select Name,lastlogondate,operatingsystem,OperatingSystemServicePack,canonicalname |
sort name -Descending |
Export-Csv -Force -NoTypeInformation .\output\$ReferenceDomain-NOT2016Servers.csv
}
}
$result = ls .\output\*-NOT2016Servers.csv
$result
运行该功能时:
Get-2008Servers
当您尝试在没有必需选项的情况下运行时,需要提示您添加“ -ReferenceDomain”。如何将其写到上面的代码中?
答案 0 :(得分:6)
通过添加一个[Parameter()]
属性装饰器并指定Mandatory
属性:
param(
[Parameter(Mandatory = $true)]
[string]$ReferenceDomain
)
有关Parameter
属性和Mandatory
的更多信息,请参见about_Functions_Advanced_Parameters
help topic