在Powershell中将文件从一台机器复制到另一台机器

时间:2012-12-10 09:42:14

标签: windows powershell iis

我目前正在一台机器上生成文档,并使用脚本中的以下命令将其发布到Web服务器:

net use "\\someShare" PASSWORD /user:username
del /S /Q "\\someShare"
xcopy /E /Y Documentation\html\* "\\someShare\"

然而,在脚本中使用密码作为纯文本感觉真是个坏主意,所以我正在寻找当前解决方案的替代方案。想法?

我绝对会欣赏使用某种访问控制的解决方案,因为应该允许许多不同的人将自己的文档发布到Web服务器,但不要混淆彼此的文档。

1 个答案:

答案 0 :(得分:0)

如果您的脚本以交互方式运行,您可以要求使用凭据,并使用New-PSDrive cmdlet:

$cred=get-credential
New-PSDrive -Name Z -PSProvider FileSystem -Root \\server\share -Credential $cred  # you may add -Persist to have a peristent drive

如果您希望脚本无需交互即可运行,您必须将凭证保存到文件中,例如:

$Cred.Password | ConvertFrom-SecureString | Set-Content $env:USERPROFILE\$env:USERNAME.txt

当你需要通行证时:

$Pass = Get-Content $env:USERPROFILE\$env:USERNAME.txt | ConvertTo-SecureString
$Cred = New-Object System.Management.Automation.PsCredential("username@domain.com",$Password)