在脚本块中使用凭据参数并通过参数传递值之前,我已经传递了凭据。我希望我的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
}