UNC路径移动脚本以传递用户名&密码

时间:2018-04-02 14:56:50

标签: powershell

我正在编写PowerShell脚本来搜索特定模式的文件(例如00857682YK),并将文件移动到通过UNC路径定位的目录。我遇到的问题是UNC路径需要登录才能写入文件。如果所述用户未登录到UNC路径,则脚本无法写入该文件。如何在脚本中添加逻辑以将用户名/密码传递到UNC目录?

get-childitem "C:\EDI\Comms\AS2\AS2 SPS\IN\" -filter *.* -recurse |  
  select-string -list -pattern "00857682YK" |  
    move -dest \\RAMP\c$\Ramp\Document\Barnana\In

3 个答案:

答案 0 :(得分:0)

要在将文件复制(或移动)到远程计算机之前进行身份验证,可以使用net use命令。例如:

net use \\computer1\ipc$ /user:username *
# put your PowerShell command here
net use \\computer1\ipc$ /delete

*上的net use参数使其以交互方式提示远程计算机的密码。

答案 1 :(得分:0)

move -dest \RAMP\c$

我假设这应该是\\RAMP\c$。这是一个管理共享。只有具有RAMP管理员权限的用户才能访问管理共享,无论文件系统权限是什么。如果您要在最终用户登录的计算机上远程运行此脚本,从安全角度来看,这似乎是一个令人震惊的坏主意。

如果要授予对特定文件夹的远程访问权限,请分享该文件夹,并为该文件夹分配正确的文件权限。

答案 2 :(得分:0)

您可以使用New-PSDrive Cmdlet

使用凭据创建新的PSDrive
$cred = get-credential
new-psdrive -Name ramp -PSProvider FileSystem -Root \\server\share -Credential $cred

然后您可以在代码中使用ramp:\驱动器。