我正在Powershell中使用SCSM,但是遇到了一个if语句的问题。
我有一个函数,它根据作为变量传递给函数的条件收集数据。示例:
$JMLs1 = collectTickets -crit $JMLCriteria1collectTickets是函数,$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条件变量进行不同的处理。
发布于 2017-06-14 08:37:42
https://stackoverflow.com/questions/44539552
复制相似问题