фильтрация и хотя бы список точек доступа с помощью powershell - PullRequest
0 голосов
/ 14 февраля 2011

Я попробовал ниже, но не получил никакого результата назад Не уверен, что я делаю это хорошо.Могу ли я отфильтровать в foreach или в моем, если заявление Спасибо заранее

[DateTime] $CreatedDate = $item["Created"] 
$convertedCreatedDate = $CreatedDate.ToString("yyyy-MM-dd")
$today = (Get-Date).AddDays(-1).ToString("yyyy-MM-dd")

foreach ($item in $list.items | where {$convertedCreatedDate -eq $today}) {

    if ($list.items | where {$convertedCreatedDate -eq $today}) 
    {
        Write-Host $item["Created"] 
    }

    Write-Host $item["Created"] 
}

Ответы [ 2 ]

3 голосов
/ 14 февраля 2011

Вы можете использовать сложное выражение в foreach, как вы делали выше.Я бы обернул его в @(), чтобы сделать код немного более читабельным и убедиться, что результатом является массив (длина 0, 1 или n), например:

foreach ($item in @($list.items | where {$convertedCreatedDate -eq $today})) {

Вы также можете упроститьтестирование даты с использованием свойства Date для DateTime, например:

$convertedCreatedDate = ([DateTime]$item["Created"]).Date
$today = (Get-Date).Date

Вы также можете поместить сложное выражение в условие оператора if, но PowerShell будет только оценивать, является ли оператор $true или $false.PowerShell делает много принуждений, пытаясь взять что-то вроде:

$list.items | where {$convertedCreatedDate -eq $today}

и преобразовать его в логическое значение.По существу, если конвейер оценивает непустой результат, результат равен $true, в противном случае это $false.Это, вероятно, не то, что вы хотели.

2 голосов
/ 14 февраля 2011

Попробуйте это:

$today=(Get-Date).AddDays(-1).ToString("yyyy-MM-dd")

foreach ($item in $list.items) {
    [DateTime]$CreatedDate=$item["Created"]
    $convertedCreatedDate=$CreatedDate.ToString("yyyy-MM-dd")
    if ($convertedCreatedDate -eq $today) {
        Write-Host $item["Created"] 
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...