0

現在、1 台のマシンでドキュメントを生成し、スクリプトで次のコマンドを使用して Web サーバーに公開しています。

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

ただし、スクリプトでパスワードをプレーン テキストとして使用するのは非常に悪い考えのように感じられるため、現在のソリューションに代わるものを探しています。アイデア?

多くの異なる人々が自分のドキュメントをWebサーバーに公開することを許可する必要があるため、ある種のアクセス制御を使用するソリューションを間違いなく感謝しますが、お互いのドキュメントを台無しにすることはできません.

4

1 に答える 1

0

スクリプトを対話的に実行する場合は、使用する資格情報を要求し、New-PSDrive コマンドレットを使用できます。

$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 に答える