除非已通过 Windows 资源管理器打开,否则无法打开共享点 UNC 路径

2023-12-31

我希望有人能阐明这一点,因为它一直让我分心。

我有一个脚本,如果该路径存在,它将通过 UNC 路径将其创建的报告保存到共享点文档库,否则它将保存到网络驱动器位置的 UNC 路径作为后备。

我注意到检查test-path、保存(通过 msexcel COM 对象)或尝试使用 Windows 资源管理器中打开文件夹invoke-item仅当我已经访问了共享点网站(通过网络浏览器)时才有效orWindows 资源管理器)自 PC 上次登录以来(我运行的是 Windows 7 Enterprise Service Pack 1 - 64 位版本)。

如果自上次登录以来我还没有手动登录过共享点,test-path返回 false,其他方法会导致ItemNotFoundException e.g.

ii : Cannot find path '\\uk.sharepoint.mydomain.local\sites\mycompany\myteam\Shared Documents\Reports' because it does not exist.
At line:1 char:1
+ ii '\\uk.sharepoint.mydomain.local\sites\mycompany\myteam\Shared Document ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\uk.sharepoint...\Reports:String) [Invoke-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.InvokeItemCommand

代码区域示例:

$LANPath = "\\myserver\myshare\teamdirs\scriptdir"
$SharepointPath = "\\uk.sharepoint.mydomain.local\sites\mycompany\myteam\Shared Documents\Reoprts"
$ScriptPath = $LANPath + "\bin"
If (Test-Path $SharepointPath) {$BasePath = $SharepointPath;write-host "Using sharepoint to save reports"} else {$BasePath = "$LANPath\Reports";write-host "Using LAN to save reports - sharepoint not accessible"}

and

$_|select -expandproperty HTMLBody | Out-File $($BasePath + "\Eml_body.html")
    Write-Host "Reformating HTML"
    $html = New-Object -ComObject "HTMLFile";
    $source = Get-Content -Path ($BasePath + "\Eml_body.html") -Raw;

当从我的 COM 对象中保存 Excel 电子表格时:

$workbook._SaveAs($fileout,[Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbook,$Missing,$Missing,$false,$false,[Microsoft.Office.Interop.Excel.XlSaveAsAccessMode]::xlNoChange,[Microsoft.Office.Interop.Excel.XlSaveConflictResolution]::xlLocalSessionChanges,$true,$Missing,$Missing)

您应该能够使用System.Net.WebClient https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx对象来访问 SharePoint 文件位置。

$client = New-Object System.Net.WebClient

The 文档 https://msdn.microsoft.com/en-us/library/system.net.webclient.credentials(v=vs.110).aspx为了WebClient.Credentials属性表明,这种情况下的默认凭据可能用于 ASP.NET 服务器端进程,而不是当前用户的凭据:

If the WebClient类正在中间层应用程序中使用,例如 ASP.NET 应用程序,DefaultCredentials属于运行 ASP 页的帐户(服务器端凭据)。通常,您可以将此属性设置为代表其发出请求的客户端的凭据。

因此,您可能需要手动设置凭据。您可以将它们作为纯文本插入...

$client.Credentials = New-Object System.Net.NetworkCredential("username","pswd","domain")

...或者您可以提示当前用户输入其凭据。

$client.Credentials = Get-Credential

下面是一个获取文件并将其内容写入屏幕的示例:

$client = New-Object System.Net.WebClient
$client.Credentials = Get-Credential

$data = $client.OpenRead("http://yoursharepointurl.com/library/document.txt")
$reader = New-Object System.IO.StreamReader($data)
$results = $reader.ReadToEnd()
Write-Host $results
$data.Close()
$reader.Close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

除非已通过 Windows 资源管理器打开,否则无法打开共享点 UNC 路径 的相关文章

随机推荐

  • 获取当前位置后如何停止更新位置?

    我正在使用 Parse 并使用 geoPointForCurrentLocationInBackground 一旦收到位置 我就可以停止更新 而无需手动停止它 如何使用 CLLocationManager 收到位置后立即停止更新位置 Edi
  • 减少授权大小 python AWS Lambda@Edge

    我正在尝试在我的云前端发行版中实施授权 到目前为止它一直有效 直到我遇到尺寸限制 我现在遇到了 cloudfront 错误消息Max allowed 1048576 大约约为 1MB 但是安装完之后authlib包总大小约为6MB 我验证令
  • 干净地中断 HttpListener 的 BeginGetContext 方法

    我正在使用一个Http监听器 http msdn microsoft com en us library 34xswsd2 28v vs 100 29 aspx并使用开始获取上下文 http msdn microsoft com en us
  • 如何在 Codable 结构中添加自定义瞬态属性

    我有以下可按预期工作的可编码结构 struct VideoAlbum Codable let id image String let video mediaType JSONNull let type deleted createdOn S
  • 我应该将参数存储类说明符放在函数定义中还是同时放在声明和定义中?

    我正在努力将一些旧的 K R 代码移植到 ANSI C 因此我正在编写缺少的函数原型声明 很多函数定义的参数都带有寄存器存储类 但我不确定函数原型中是否可以省略寄存器存储类说明符 无论有或没有寄存器存储类特定声明 代码都能正确编译 我尝试了
  • 是否可以将多个静态库捆绑到一个静态库中[C++]?

    我为我的 C 代码创建了一个静态库 该库依赖于 CentOS 7 环境中的 Boost OpenSSL CURL 和 Threads 可以捆绑吗libboost system a libssl a libcrypto a libcurl a
  • 更改 MediaStream 对象的 VideoTrack

    简而言之 我正在尝试改变VideoTrack of a MediaStream object 文档 https developer mozilla org en US docs WebRTC MediaStream API https de
  • 如何在记事本++中进行非贪婪的正则表达式查询?

    我正在用乳胶写论文 不小心写了 cite 代替 cite 我可以手动浏览整个文档 但我想知道如何使用正则表达式在记事本 中执行此操作 我最初尝试过 cite 并替换为 cite 1 适用于简单的情况 例如 cite hello world
  • Oracle SQL:如何通过预定义贡献获取每个组的随机记录

    这是参考此处描述的先前问题 Oracle SQL 如何获取每组的随机记录 https stackoverflow com questions 36628912 oracle sql how to get random records by
  • Paypal付款成功后返回Ionic应用程序

    我创建了一个 Ionic 应用程序 我有一些物品要订购 付款是使用 Paypal 完成的 我使用 window open url 调用了一个 web url 它将我重定向到 Paypal 我能够成功付款 但是有人可以告诉我付款成功后如何返回
  • 在 SAS 中,捕获语法错误的好技术/选项是什么?

    在增强的编辑器中 颜色可能会给您提示 然而 在大型机上 我不相信编辑器中有任何东西可以帮助您 I use OPTIONS OBS 0 noreplace obs 0 选项指定从输入中读入 0 个观测值 dataset 和 NOREPLACE
  • iPhone开发-模拟内存警告

    背景 我有一个标签栏应用程序 每个选项卡都包含导航控制器 允许用户从一个视图转换到另一个视图 显示数据的深入信息 每个视图都由视图控制器处理 每个视图控制器类都有didReceiveMemoryWarning方法 通过从 Web 服务中提取
  • 透明背景WKWebView(NSView)

    我正在使用 Swift 构建 Mac 应用程序 因此 我想使 WKWebView 透明 以便它显示加载的 HTML 文本 但我的底层 NSWindow 的背景是可见的 我试过 webView layer backgroundColor NS
  • ANDROID:java.lang.NoClassDefFoundError:解析失败:Lcom/mysql/cj/MysqlType

    我正在尝试将我的项目与 mysql 数据库连接 但我在驱动程序中收到此错误 E AndroidRuntime FATAL EXCEPTION main Process com example catalyst PID 12531 java
  • 具有链接轴的 PyQtGraph 网格

    使用 PyQtGraph 进行简单的图形布局 其中图的 x 轴链接在一起 并且网格也显示在两个图中 from pyqtgraph Qt import QtGui QtCore import pyqtgraph as pg app QtGui
  • 具有固定 x 轴和 y 轴的 NVD3.js 多图

    我正在使用 NVD3 js 多图来显示各种数据 是否可以为 x 轴和 y 轴设置固定范围 我做了一个 Plunker 的例子 http plnkr co edit OLN87eIE21tImHktYIH6 p preview http pl
  • 在 Celery 任务中运行 Scrapy 蜘蛛

    我有一个 Django 网站 当用户请求时会发生抓取 并且我的代码在新进程中启动 Scrapy 蜘蛛独立脚本 当然 这对于用户的增加来说是行不通的 像这样的事情 class StandAloneSpider Spider a regular
  • 透明的UITextView

    如何使 UITextView 透明 我在 Interface Builder 中构建了视图 并将 UITextView 放入其中 它覆盖了背景 有任何想法吗 更改背景颜色 并使用不透明度滑块使其完全透明 以编程方式 textView bac
  • C# .NET Rx-System.Reactive 在哪里?

    我有深入的 Java 背景 所以如果我忽略了 C 中明显的东西 请原谅我 但我的研究毫无进展 我正在尝试使用反应式 Rx NET 库 编译器并没有抱怨IObservable但它是通过调用zip方法 它抛出 您是否缺少 using 指令或程序
  • 除非已通过 Windows 资源管理器打开,否则无法打开共享点 UNC 路径

    我希望有人能阐明这一点 因为它一直让我分心 我有一个脚本 如果该路径存在 它将通过 UNC 路径将其创建的报告保存到共享点文档库 否则它将保存到网络驱动器位置的 UNC 路径作为后备 我注意到检查test path 保存 通过 msexce