我目前正在一台机器上生成文档,并使用脚本中的以下命令将其发布到Web服务器:
net use "\\someShare" PASSWORD /user:username
del /S /Q "\\someShare"
xcopy /E /Y Documentation\html\* "\\someShare\"
然而,在脚本中使用密码作为纯文本感觉真是个坏主意,所以我正在寻找当前解决方案的替代方案。想法?
我绝对会欣赏使用某种访问控制的解决方案,因为应该允许许多不同的人将自己的文档发布到Web服务器,但不要混淆彼此的文档。
答案 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)