我正在尝试使用PowerShell中的“系统”帐户将驱动器映射到另一台服务器。我很成功,但只有以系统身份登录才能访问服务器,但不能以管理员或普通用户身份登录。
如果我使用管理员powershell或dos命令shell映射它,那么每个人都可以使用它。不幸的是,我无法做到这一点,因为我使用Amazon Web Service(AWS)SendCommand功能来进行映射,它只使用系统级别的PowerShell。即使我将映射命令放在批处理文件中并使其运行,映射的驱动器仍然只对系统的PowerShell用户可用。
以下是通过AWS SendCommand发送的两个命令的示例:
cd "C:/Program Files/Enventive/EnCOM Listener 1.0/lib/"
start-process "cmd.exe" "/c MapNetworkDrive 172.31.26.59"
批处理文件执行net use命令,如下所示:
net use D: \\%1\Company /USER:Administrator /PERSISTENT:YES "<password>"
是否有任何方法可以让所有用户都可以使用由系统级别PowerShell映射的驱动器?
我也在系统级别的PowerShell中尝试了以下方法,但得到了相同的结果:
$user = "Administrator"
$pass = ConvertTo-SecureString -String '<password>' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pass
New-PSDrive -Name D -PSProvider FileSystem -Root \\172.31.26.59\Company -Credential $cred -Persist
执行此操作后,D:驱动器可以从系统级别的PowerShell中获得,但不能从DOS命令shell或管理员级别的PowerShell中获得
我也尝试过:
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("D:", "\\172.31.26.59\Company", $false, "Administrator", '<password>')
得到了相同的结果。在所有尝试中,文件资源管理器中显示的是“断开网络驱动器(D :)”,如果单击它,弹出窗口显示“D:\无法访问。用户名或密码不正确。”
New-PSDrive
,你试过添加吗?-Scope Global
?