在PowerShell多行脚本块中传递凭据

时间:2018-08-15 15:03:17

标签: powershell

在脚本块中使用凭据参数并通过参数传递值之前,我已经传递了凭据。我希望我的Scriptblock的大小会增长,所以我使用here字符串保持其干净,然后将字符串转换为Scriptblock。如何在下面的示例中添加凭据参数和参数。我知道我用来在下面的远程会话中使用的$ credential值具有获取必要文件的必要特权,因为我已经在远程计算机上对其进行了测试。因此,如果可能的话,我想通过相同的凭据。

$user = 'MyDomain\username' 
$password = ConvertTo-SecureString 'mypassword' -asplaintext -force
$credential = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $user, $password

try {
    $s = New-PSSession -ComputerName MyRemoteComputer -Credential $credential

    $remoteCommand = @" 
        New-PSDrive -Name 'P' -PSProvider 'FileSystem' -Root '\\main-server\Folders\DevOps\Projetcs\Juniper'
           Get-Item -Path P:\V1.6\InstallFiles\Install.bat 
"@
    $scriptBlock = [Scriptblock]::Create($remoteCommand)
    $status = Invoke-Command -Session $s -ScriptBlock $scriptBlock 

    Write-Host $status
    Exit-PSSession -Session $s
}
catch {

  #TODO Add exception handling
}

0 个答案:

没有答案