2010-09-17 46 views
0

我正尝试在特定用户上下文中使用PowerShell创建文件。例如,我在本地机器上有一个用户user01,我想在其上下文中创建一个文件。在PowerShell中的用户上下文中创建文件

我做这样的事情

新建项目C:\ file.txt的-Credential用户01

它的工作原理,但提示我,我不希望它的密码。有没有什么办法可以在不提示输入密码的情况下完成?

回答

2

新项目凭证参数实际上不支持的文件系统,所以我不知道你的意思是“它的作品。”它不会创建文件作为传递的用户。事实上,文件系统提供者会说:

“的提供者不支持使用凭证不指定凭据重新进行操作。”

以一个猜测,我会说你想创建一个不同的所有者的文件。 PowerShell中不能做到这一点对自己,所以你需要以下不平凡的脚本:(但你必须已经是管理员)

http://cosmoskey.blogspot.com/2010/07/setting-owner-on-acl-in-powershell.html

它的工作原理是使SeBackup特权安全令牌这使您可以设置文件上的任意所有者。通常情况下,您只能将所有者更改为管理员或您自己的帐户。

呵呵,这个脚本仅适用于powershell 2.0。

1

而不是用在这一个PowerShell命令或.NET脚本,你可以看看Windows工具软件takeown.exe。但是,即使它要求您提供您分配所有权的用户密码。

0

好吧,我在用户上下文中启动程序,然后创建一个文件。奇迹般有效。

密码,文件路径和用户名传递在从命令行参数。

$ PW =的ConvertTo-SecureString的 “$密码” -AsPlainText -force $证书=新对象-typename system.management.automation.pscredential -ArgumentList “-default - ”,$ PW $ localArgs =“/ c echo> $ FilePath“ [System.Diagnostics.Process] :: Start(”cmd“,$ localArgs,”$ UserName“,$ credential.Password,”$ Computer“)

0

或者只是拨打电话SUBINACL.EXE?那么不需要密码。

相关问题