我正在编写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
答案 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:\
驱动器。