Get-SPWeb 无法找到具有 ID 或 URL 的对象

2024-01-01

问题:

我似乎无法弄清楚为什么会出现下面的错误,即使 SharePoint 网站以及被调用的文档库存在。文档库Lib1有文档/文件夹、文档库Lib2是空的。有人知道出了什么问题吗?


ERROR:

Get-SPWeb : Cannot find an SPWeb object with Id or Url : Lib1 and site Url https://sharepoint.oshirowanen.com/sites/oshirodev.
At C:\Users\Oshiro\Desktop\CopyDocs.ps1:31 char:23
+       $web = Get-SPWeb <<<<  -Site $site -Identity $identity -ErrorAction Stop;
    + CategoryInfo          : InvalidData: (Microsoft.Share....SPCmdletGetWeb:SPCmdletGetWeb) [Get-SPWeb], SPCmdletPipeBindException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletGetWeb

SCRIPT:

01  Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
02  
03  function Get-SPList([uri]$url) {
04    # Nullify variables $site, $web and $list
05    $site = $web = $list = $null
06  
07    # Get site collection
08    $site = New-Object -TypeName Microsoft.SharePoint.SPSite -ArgumentList $([Microsoft.SharePoint.Utilities.SPEncode]::UrlDecodeAsUrl($url.AbsoluteUri));
09  
10    # Get site-relative URL
11    $webURL = ([Microsoft.SharePoint.Utilities.SPEncode]::UrlDecodeAsUrl($url.AbsoluteUri)) -replace $site.Url;
12  
13    # Remove query information if included
14    if (-not [string]::IsNullOrEmpty($url.Query)) {
15      $webURL = $webURL.Replace($url.Query, [string]::Empty);
16    }
17  
18    # Process the array of segments backwards,
19    # removing segments one by one from the end of the URL,
20    # until the URL of the lowest level subsite is identified
21    -1..-($url.Segments.Count) | ForEach-Object {
22      if ($web -eq $null) {
23        # Once the correct URL is obtained, initialize a variable containing an
24        # instance of SPWeb class for the lowest level subsite
25        if($webUrl -eq "/"){
26          $identity = $webUrl
27        } else {
28          $identity = $webUrl.Trim("/")
29        }
30  
31        $web = Get-SPWeb -Site $site -Identity $identity -ErrorAction Stop;
32        $webUrl = $webUrl -replace [Microsoft.SharePoint.Utilities.SPEncode]::UrlDecodeAsUrl($url.Segments[$_]);
33      }
34    }
35  
36    if ($web -ne $null) {
37      0..($url.Segments.Count - 1) | ForEach-Object {
38        $listUrl += $url.Segments[$_];
39        if ($list -eq $null) {
40          $list = $(trap {continue}; $web.GetList($listUrl.TrimEnd("/")));
41        }
42      }
43    }
44  
45    $web.Dispose();
46    $site.Dispose();
47    return $list;
48  }
49  
50  
51  function Copy-SPDocumentLibrary([string]$source,[string]$destination,[switch]$overwrite) {
52    # Get source list
53    $sourceSPList = Get-SPList -url $source
54  
55    # Get destination list
56    $destSPList = Get-SPList -url $destination
57    $spFileCollection = $destSPList.RootFolder.Files
58  
59    # Loop through each item and copy to destination list
60    foreach($item in $sourceSPList.Items) {
61      $file = $sourceSPList.ParentWeb.GetFile($item.File)
62      $targetDocUrl = $file.Url -replace $sourceSPList.RootFolder.Name,
63      $destSPList.RootFolder.Name
64  
65      # Check if folder exists
66      if(-not($destSPList.ParentWeb.GetFolder($file.ParentFolder.Url).Exists)) {
67        # Check each subfolder
68        $folderURL = $file.Url.Split("/")
69        $addFolder = $folderURL[0]
70        for($i=1;$i -lt ($folderURL.Count -1);$i++) {
71          $addFolder = $addFolder + "/" + $folderURL[$i]
72          $destSPList.ParentWeb.Folders.Add($addFolder) | Out-Null
73        }
74        $addFolder = $null
75      }
76  
77      # Check if target file exists
78      if(-not($overwrite) -and $destSPList.ParentWeb.GetFile($targetDocUrl).Exists) {
79        Write-Host "File $targetDocUrl already exists"
80        Continue
81      }
82  
83      $spFileCollection.Add($targetDocUrl,$file.OpenBinary(),$overwrite) | Out-Null
84    }
85  }
86  
87  Copy-SPDocumentLibrary -source "https://sharepoint.oshirowanen.com/sites/oshirodev/Lib1" -destination "https://sharepoint.oshirowanen.com/sites/oshirodev/Lib2" -overwrite

USAGE:

.\CopyDocs.ps1

其他信息:

  • SharePoint 2010
  • Powershell v2
  • 使用管理员帐户登录的 SharePoint 2010 Management Shell
  • 在使用管理员帐户登录的 Windows Server 2008 R2 Standard 上执行的脚本

对于这种类型的错误,我猜您缺少对内容数据库的访问。我不确定你的问题笔记是否涵盖了这一点。

要检查您的用户是否已列出:

Get-SPShellAdmin 

如果缺少,您需要添加它。

添加用户作为 Shell 管理员:

Add-SPShellAdmin -UserName <user name> -Database <database name> 

获取您的 ID 和内容数据库。我将创建一个存根示例(请根据您的需要进行调整):

Add-SPShellAdmin -UserName "CONTOSO\Oshiro" -Database (Get-SPContentDatabase -Identity "oshirodev_Content") 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Get-SPWeb 无法找到具有 ID 或 URL 的对象 的相关文章

随机推荐

  • 当一个变量=另外两个而不是一个时如何使用替换

    好吧 这个可能有点难 我使用的 VB 看起来像这样 string Replace string ToLower chr 63 A 但我也想要 chr 63 B 如下所示 string Replace string ToLower chr 6
  • Session.SaveOrUpdate Copy() 和 Session.Merge() 有什么区别?

    在 NHibernate 3 1 中 ISession SaveOrUpdateCopy 已被标记为已弃用 该文档建议使用Merge 反而 每个的文档如下 SaveOrUpdateCopy object obj 将给定对象的状态复制到具有相
  • 如何在 Vim 上保存选项卡中的所有文件?

    如果我在 VIM 的选项卡中有多个文件 而我只编辑其中的几个文件 如何用一个命令保存它们 命令wa 短缺wall 将写入所有更改的缓冲区 您还可以使用 tabdo w 这绝对正是您想要的 并且概括得很好
  • .csproj 文件中自动生成的 IntermediateOutputPath

    从 Git 更新代码后 出现错误csproj 因为file路径不存在 这是引发错误的代码
  • 如何强制在抽象类的所有子类中定义构造函数

    我有一个定义抽象方法的抽象类 A 这意味着 要使类可实例化 必须实现所有抽象方法 我希望我的所有子类都实现一个以 2 个整数作为参数的构造函数 声明构造函数违背了我的目的 因为我希望在子类中定义构造函数 并且我对实现一无所知 此外 我不能将
  • MRC命令的附加协处理器寄存器的作用是什么?

    引用自 ARMMRC文档 MRC 2
  • UIView 中的黑色背景?

    我按照在线教程在子类 UIView 中进行绘制 本教程显示了一个具有白色背景的 UIView 我通过简单地更改超级的背景颜色来修复此问题 问题是 当触摸结束时 背景不会保持清晰 我不知道 我只是尝试将填充颜色设置为 uicolorclear
  • 链式哈希表与开放寻址哈希表

    有人可以解释这两种实现之间的主要区别 优点 缺点 吗 对于图书馆 建议采用什么实施方式 维基百科关于哈希表的文章 http en wikipedia org wiki Hash table对人们使用的不同哈希表方案提供了明显更好的解释和概述
  • 我可以将 Subversion 用于多 GB 数据集吗?

    该数据集包含 6766 个文件夹中的 97984 个文件 大小为 2 57 GB 其中很多是二进制文件 对我来说 这听起来并不那么重要 大约 50 个文件的每日数据更改率为数百 KB 但我担心颠覆会变得极其缓慢 无论如何 它从来都不是很快
  • 尝试在 Google App Engine 项目中创建备份时出现 404

    Setup 我按照以下步骤后遇到了404问题不被接受问题的答案App Engine 数据存储区 以编程方式备份 https stackoverflow com questions 15811982 appengine datastore b
  • 艰苦学习 Python 练习 48 帮助

    我正在学习 Python The Hard Way 并在练习 48 中遇到了挑战 您将获得大量代码作为单元测试 并要求我们创建一个函数以使单元测试通过 我不确定这段代码到底应该是什么样子 我已粘贴其中一个函数作为参考 它们看起来都与这个相似
  • 指定条形图中条形之间的空格

    我正在尝试用 R 生成一个条形图 条形的宽度不同 条形之间的间距也不同 例如我有一个矩阵 data lt matrix c 1 2 2 4 7 1 11 12 3 ncol 3 byrow T colnames data lt c Star
  • MongoDB (Java) - 如何运行保存在 javascript 文件中的查询?

    所以我有很多 js 文件 我之前用它们从命令行界面查询 MongoDB 但现在我希望能够通过 Java 运行这些相同的查询 我使用 Java 来支持依赖于查询中的信息 我如何使用来自 Java 驱动程序的 JavaScript 查询并返回一
  • Python下间歇性“sslv3警报握手失败”

    我有一个用 Java 编写的 REST API 在 JBoss 下运行 最近我们将 JVM 从 1 6 更新到了 1 7 这开始导致仅我们正在连接的 Python 客户端出现问题 Python 客户端间歇性地出现握手失败 我们编写了一个非常
  • 如何禁用 Maven Javadoc 插件中的 Javadoc 警告?

    我正在使用 Maven Javadoc 插件 它输出警告如下 ERROR home monperrus spoon src main java spoon visitor CtVisitor java 144 warning no para
  • python httplib2 证书验证失败

    我已经尝试了一切我能找到的方法来让它发挥作用 我正在为基于 python 的任务程序 称为 GTG 开发一个插件 我在 Opensuse Linux 上运行 Gnome 代码 Python 2 7 def initialize self I
  • 类型“文档”缺少类型中的以下属性

    所以我有一个 Node w Typescript REST API 我有一个注册方法 它创建一个用户并使用创建的用户的名字 姓氏 电子邮件进行响应 问题是我遇到此打字稿错误 显示 类型 文档 缺少类型 SavedUser 中的以下属性 名字
  • 使用 jaxb 解析包含 xi:includes 的 xml 时遇到问题

    我正在使用 JAXB 来解析 xml 我有一个如下的架构 以及在此架构上定义的两个 xml 文件 a xml 和 b xml a xml 通过 xi include xml 标签依赖于 b xml 请提交以下示例以获取更清晰的数据 I ha
  • 在 NSScrollView 中,垂直滑块始终指向视图的底部

    我正在开发 Mac 应用程序 在此应用程序中 我使用 NSScrollView 的实例作为滚动视图 我设置了一个 customView 它是此 ScrollView 中 NSView 的实例 如下所示 scrollView setDocum
  • Get-SPWeb 无法找到具有 ID 或 URL 的对象

    问题 我似乎无法弄清楚为什么会出现下面的错误 即使 SharePoint 网站以及被调用的文档库存在 文档库Lib1有文档 文件夹 文档库Lib2是空的 有人知道出了什么问题吗 ERROR Get SPWeb Cannot find an