【问题标题】:How to use Test-Path in SharePoint如何在 SharePoint 中使用测试路径
【发布时间】:2016-01-07 18:28:52
【问题描述】:

使用Test-Path PowerShell 命令我们可以检查系统驱动器路径或文件是否存在于本地驱动器中。同样,我们如何使用Test-Path或任何类似命令检查SharePoint文档库文件夹路径或文档库中的文件是否存在?

Test-Path -Path "http://win-3:001/sites/Dev/Shared%20Documents/Test1"
Test-Path -Path "http://win-3:001/sites/Dev/Shared%20Documents/Test1/sample.txt"

【问题讨论】:

  • 可以从其中一台 SharePoint Web 服务器运行此脚本吗?

标签: powershell sharepoint-2010 sharepoint-2013


【解决方案1】:

您应该能够通过 HTTP 请求进行检查:

$uri = 'http://win-3:001/sites/Dev/Shared%20Documents/Test1'

(Invoke-WebRequest -Method Head -Uri $uri -UseDefaultCredentials).StatusCode

如果您的 PowerShell 版本太旧而无法提供 Invoke-WebRequest cmdlet,您应该升级。如果由于某种原因您不能这样做,请改用 System.Net.WebRequest 类:

$uri = 'http://win-3:001/sites/Dev/Shared%20Documents/Test1'

$req = [Net.WebRequest]::Create($uri)
$req.Method = 'HEAD'
$req.UseDefaultCredentials = $true
$req.PreAuthenticate = $true
$req.Credentials = [Net.CredentialCache]::DefaultCredentials
$req.GetResponse().StatusCode.value__

无论哪种方式,状态码 200 表示请求正常,即文档存在。

【讨论】:

  • Invoke-WebRequest 无法识别命令访问错误。 m 在 sharepoint 2010 服务器中运行。
  • 使用“0”参数调用“GetResponse”时出现异常:“远程服务器返回错误:(401) 未经授权。”
  • 你自己也懒得去查吗?
  • 我已经测试了这段代码它在文件夹级别的工作正常,但是对于文件级别是不工作的..即使给定路径中存在的文件说不存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多