Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用powershell筛选和浏览sharepoint列表项_Powershell_Powershell 2.0 - Fatal编程技术网

使用powershell筛选和浏览sharepoint列表项

使用powershell筛选和浏览sharepoint列表项,powershell,powershell-2.0,Powershell,Powershell 2.0,我在下面试过,但没有得到任何结果 不确定我是否做得很好。 我可以在foreach或if语句中进行筛选吗 提前谢谢 [DateTime] $CreatedDate = $item["Created"] $convertedCreatedDate = $CreatedDate.ToString("yyyy-MM-dd") $today = (Get-Date).AddDays(-1).ToString("yyyy-MM-dd") foreach ($item in $list.items | w

我在下面试过,但没有得到任何结果 不确定我是否做得很好。 我可以在foreach或if语句中进行筛选吗 提前谢谢

[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"] 
}
试试这个:

$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"] 
    }
}
试试这个:

$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"] 
    }
}

您可以在
foreach
中使用复杂表达式,就像上面所做的那样。我会将其包装在
@()
中,以使代码更具可读性,并确保结果是一个数组(长度为0、1或n),例如:

您还可以通过对日期时间使用
date
属性来简化日期测试,例如:

$convertedCreatedDate = ([DateTime]$item["Created"]).Date
$today = (Get-Date).Date
您也可以在
if
语句条件中放置复杂表达式,但PowerShell将仅计算该语句是
$true
还是
$false
。PowerShell会执行大量强制操作,以尝试执行以下操作:

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

并将其转换为布尔值。基本上,如果管道计算结果为非空结果,则结果为
$true
,否则为
$false
。这可能不是您想要的。

您可以在
foreach
中使用复杂表达式,就像上面所做的那样。我会将其包装在
@()
中,以使代码更具可读性,并确保结果是一个数组(长度为0、1或n),例如:

您还可以通过对日期时间使用
date
属性来简化日期测试,例如:

$convertedCreatedDate = ([DateTime]$item["Created"]).Date
$today = (Get-Date).Date
您也可以在
if
语句条件中放置复杂表达式,但PowerShell将仅计算该语句是
$true
还是
$false
。PowerShell会执行大量强制操作,以尝试执行以下操作:

$list.items | where {$convertedCreatedDate -eq $today}
并将其转换为布尔值。基本上,如果管道计算结果为非空结果,则结果为
$true
,否则为
$false
。这可能不是你想要的