【问题标题】:Start a process and allow it to use connected network drives启动一个进程并允许它使用连接的网络驱动器
【发布时间】:2017-04-13 10:20:40
【问题描述】:

我正在尝试将网络共享备份到 USB 驱动器,同时存档数据。为此,我像这样调用 7-zip 存档器(实际上我使用哪个存档器并不重要):

new-psdrive -name O -psprovider filesystem -root '\\kapital-dc01\disk_o'  -credential $cred 
$arclog=(. 'c:\program files\7-zip\7z.exe' a -bb1 -bd -bse1 -mmt6 -r -v1200m "f:\disk_o\disk_o-$timestamp.7z" 'o:\')

但是,7-zip 在尝试从 O: 获取数据时报告“找不到文件”错误。在 Powershell 中,我可以dir o:\ 没有任何问题。此脚本通过任务管理器作为SYSTEM 帐户作为作业运行。我应该使用什么来启动 7-zip 并访问附加的网络驱动器?

【问题讨论】:

    标签: powershell process network-drive


    【解决方案1】:

    您需要使用-Persist 开关New-PSDrive 使驱动器可用于Windows 会话,而不仅仅是PowerShell 会话。

    可以使用 New-PSDrive 的 Persist 参数来创建 Windows 映射的网络驱动器。与临时 Windows PowerShell 驱动器不同, Windows 映射的网络驱动器不是特定于会话的。他们得救了 在 Windows 中,它们可以使用标准的 Windows 工具进行管理, 例如文件资源管理器和网络使用。

    来源:MSDN

    【讨论】:

    • 此设置是否允许在脚本结束后关闭网络连接,还是我需要手动断开这些驱动器?
    • 最后用Remove-PSDrive断开连接
    • 谢谢。我使用Register-EngineEvent 和Remove-PSDrive 调用来删除连接,以防脚本失败,并且它最初有很多失败点。
    猜你喜欢
    • 2018-09-20
    • 2016-08-16
    • 1970-01-01
    • 2018-02-21
    • 2020-03-13
    • 2015-02-21
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    相关资源
    最近更新 更多