0

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

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

但是,在脚本中使用纯文本形式的密码是一个非常糟糕的主意,因此我正在寻找当前解决方案的替代方案。想法?

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

4

1 回答 1

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)
于 2012-12-10T12:34:10.933 回答