【问题标题】:Copying files from one machine to another in Powershell在 Powershell 中将文件从一台机器复制到另一台机器
【发布时间】:2012-12-10 09:42:13
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: windows powershell iis


    【解决方案1】:

    如果您的脚本以交互方式运行,您可以要求使用凭据,并使用 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)
    

    【讨论】:

    • 它不是交互式脚本。第二个解决方案似乎很甜蜜。我试试看!
    • 请注意,这是一种按用户机制,一个用户不能使用另一个用户保存的凭据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多