【问题标题】:how to make Powershell output file path using mapped drive path instead of true path?如何使用映射驱动器路径而不是真实路径来制作 Powershell 输出文件路径?
【发布时间】:2014-03-27 20:25:41
【问题描述】:

如何使用映射驱动器而不是真实路径更改结果路径?现在我得到了类似\\server\data\work\.... 的东西,我想看到它让我们说K:\work\.... 我不能将映射驱动器路径用于变量,因为它不适用于任务调度程序......

Get-ChildItem -Recurse $source -Filter *.prt | Where{$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending | select name,LastWriteTime,Directory | convertto-html -head $a -body "<H2>FILES LIST FOR PAST 7 DAYS</H2>" | out-file $output\result.htm

【问题讨论】:

  • 请提供更多上下文。当您已经拥有映射驱动器时,为什么/如何获得 UNC 路径?
  • 因为我需要以管理员身份将此设置为计划任务,并且任务计划程序无法以某种方式在 powershell 中使用映射路径......
  • 使用真正的 UNC 路径有什么问题?这应该在任何地方都有效。 (同样采用一种方式很简单 - 每个映射的驱动器都指向一个 UNC 路径,但采用另一种方式并不简单 - 一个 UNC 路径可以被许多映射的驱动器号指向)。
  • 使用 UNC 路径没什么问题...结果是针对用户而不是针对管理员,用户不需要知道哪个服务器保存了那里的数据,他们只需要知道映射的驱动器号..

标签: powershell powershell-2.0 powershell-3.0


【解决方案1】:

只要您以已映射驱动器的用户身份运行 Powershell 脚本,映射的驱动器号就应该可以工作。否则,您需要使用New-PSDrive 为会话映射驱动器。

New-PSDrive –Name K –PSProvider FileSystem –Root "\\server\data"

【讨论】:

  • 对不起,我试过你的方法,但得到一个错误New-PSDrive : A drive with the name 'K' already exists. 并且脚本不会运行...我尝试使用 K:\ 并直接运行脚本,结果仍然是真实路径。我安排它与 K:\ 一起运行,根本没有结果....
  • 所以它在作为计划任务运行时存在的 K 驱动器上出错,但在相同的凭据下手动运行正常?
  • 是的,手动运行,出现错误,作为计划任务运行,日志中也显示错误,使用 K:\ 手动运行仍然是真实路径,使用 K 作为计划任务运行:\ 结果什么都没有,一个空页面....
  • 在测试中,您的脚本在以有权访问指定映射驱动器的用户身份运行时工作,使用驱动器号作为计划任务。您确定在与任务相同的凭据下测试脚本吗?
  • 是的,我所有的任务都是在管理员账户下执行的
【解决方案2】:

尝试在脚本开始时创建一个 PSDrive。确保运行脚本的帐户(通过任务计划程序)拥有共享所需的权限。

New-PSDrive –Name "K" –PSProvider FileSystem –Root "\\server\data"
#.... something something, creating $output variable etc. 
Get-ChildItem -Recurse $source -Filter *.prt | Where{$_.LastWriteTime -gt (Get-Date).AddDays(-6)} | sort LastWriteTime -descending | select name,LastWriteTime,Directory | convertto-html -head $a -body "<H2>FILES LIST FOR PAST 7 DAYS</H2>" | out-file $output\result.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    相关资源
    最近更新 更多