问题: Robocopy 未在 Start-Process 中以其他用户身份启动

该脚本在具有两个文件位置权限的帐户上运行时运行良好,但它似乎不接受 -credential 参数。

不确定我的格式是否不正确,或者我做错了什么。

# Create Password for credential
$passw = convertto-securestring "Password" -asplaintext –force
# Assembles password into a credential
$creds = new-object -typename System.Management.Automation.PSCredential -argumentlist "DOMAIN\Username", $passw
# Select a source / destination path, can contain spaces
$Source = '\\Source\E$\Location'
$Destination = '\\Destination\Location Here'
# formats the arguments to allow the credentials to be wrapped into the command
$RoboArgs = "`"$($Source)`" `"$($Destination)`"" + " /e /Copy:DAT"
# Started Robocopy with arguments and credentials
Start-Process -credential $creds Robocopy.exe -ArgumentList $RoboArgs -Wait

最佳答案

Robocopy 将使用标准的 Windows 身份验证机制。

因此,在发出 robocopy 命令之前,您可能需要使用适当的凭据连接到服务器。

您可以使用 net use 来执行此操作。

net use X: '\\Source\E$\Location' /user:MYDOMAIN\USER THEPASSWORD
net use Y: '\\Destination\Location Here' /user:MYDOMAIN\USER THEPASSWORD

net use X: /d
net use Y: /d

然后启动你的 ROBOCOPY

关于powershell - Robocopy 作为另一个用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51960100/

10-11 08:48