2
我正在使用Powershell中的SCSM,但遇到if语句的问题。
我有一个函数根据作为变量传递给函数的条件收集数据。 实施例:
$JMLs1 = collectTickets -crit $JMLCriteria1
collectTickets
是函数,$JMLCriteria1
是传递的标准。
这是collectTickets
功能:
function collectTickets
{
param (
[parameter (Mandatory=$true)]
$crit
)
$fullDate = Get-Date
if ($fullDate.DayOfWeek -eq 'Monday')
{
$olderThan = $fullDate.AddDays(-4)
}
elseif ($fullDate.DayOfWeek -eq 'Tuesday')
{
$olderThan = $fullDate.AddDays(-4)
}
else
{
$olderThan = $fullDate.AddDays(-2)
}
if ($crit -like '$JML*')
{
$data = Get-SCSMObject -Criteria $crit | select 'Id', 'Title', 'LastModified', 'Priority'
}
else
{
$data = Get-SCSMObject -Criteria $crit | Where-Object {($_.LastModified -lt $olderThan)} | select 'Id', 'Title', 'LastModified', 'Priority'
}
return $data
}
我遇到的问题是与第二if语句,该if ($crit -like '$JML*')
- 我不知道,如果我们可以使用通配符这样对变量或者如果语法不正确。
只是为了阐明将会有多个$JML
标准变量以及多个其他标准变量,但它只是我想要区别对待的$JML
标准变量。