通过计划任务在powershell中映射驱动器而不使用凭据

时间:2013-12-05 08:15:19

标签: powershell schtasks.exe

我正在尝试将powershell备份脚本作为计划任务运行,作为其中的一部分,我需要映射网络驱动器(在将备份复制到远程主机之前)。

现在,当我这样做时,这是有效的:

NET use $RemoteDir $RemoteUser $BackupPass 

但由于安全问题,我无法以纯文本或服务器上的任何位置保存密码。所以,我的希望是,因为它作为计划任务运行,'NET'将能够“继承”运行计划任务的用户的凭据,以便它可以像这样运行:

NET use $RemoteDir

但是当我记录错误时,它似乎不起作用:

The password is invalid for <RemoteDir>.

Enter the user name for <RemoteDir>':

所以,我的问题是:有没有办法让这个工作?即让.NET使用预定作业运行的凭据?或者我需要找到另一种方法吗?

编辑:忘记提及,运行计划任务的用户是域用户,并且可以访问远程用户。

谢谢!

3 个答案:

答案 0 :(得分:0)

创建域帐户。将帐户权限分配给共享和NTFS目录。将任务设置为在刚刚创建的帐户下执行。

答案 1 :(得分:0)

我没有解决方案,但是工作紧张。 您可以将密码存储在锁定的文件中,如上面的建议所示,并按照此链接上的说明进行操作:

http://geekswithblogs.net/Lance/archive/2007/02/16/106518.aspx

答案 2 :(得分:0)

似乎很奇怪,我从计划任务管理站用户没有任何问题,因此可以使用凭据。也许net use只是行为不端,你尝试过使用New-PSDrive吗?