gpt4 book ai didi

powershell - 如何在powershell中传递 "get-content command "中的变量

转载 作者:行者123 更新时间:2023-12-03 00:07:31 24 4
gpt4 key购买 nike

我必须将特定文件从一个远程桌面获取到本地计算机或另一台服务器。如何在 get-content 中传递一个变量以从远程桌面连接获取文件?

我将文件路径存储为变量并尝试将其传递给 get-content。

Invoke-Command -Computername $Server -ScriptBlock{get-content -path $file }
Invoke-Command -Computername $Server -ScriptBlock{get-content -path ${file} }

$file="C:\Users\Documents\new DB_connection\\log2.txt"

$Server="servername"

$answer= Invoke-Command -Computername $Server -ScriptBlock{get-content -path $file }
write-output $answer

Cannot bind argument to parameter 'Path' because it is null. + CategoryInfo : InvalidData: (:) [Get-Content], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.GetContentCommand

最佳答案

您可以通过 PSSession 复制文件,而不是使用 Invoke-Command .从远程服务器复制到本地路径或不同的远程服务器:

 $session = New-PSSession -ComputerName server.domain.tld
Copy-Item -Source $originatingServerFilePath -Destination $localOrUNCFilePath -FromSession $session

如果您需要将本地文件复制到目标服务器:
Copy-Item -Source $localFilePath -Destination $destinationServerFilePath -ToSession $session

这样做的好处是没有双跳,尽管您在其上运行命令的服务器将需要访问任何远程文件路径。如果您需要将文件从一台服务器复制到另一台服务器,但目标服务器没有将文件路径公开为共享文件夹(或者您无权访问它),则无法指定 -ToSession-FromSession同时,因此您必须在本地复制文件并使用两个 session ,如下所示:
$sourceSession = New-PSSession -ComputerName source.domain.tld
$destinationSession = New-PSSession -ComputerName destination.domain.tld

# Copy the remote file(s) from the source session to a local path first
Copy-Item -Source $sourceSessionFilePath -Destination $localTempFilePath -FromSession $sourceSession

# Copy the new local files to the destination session from your local path
Copy-Item -Source $localTempFilePath -Destination $destinationSessionFilePath -ToSession $destinationSession

关于powershell - 如何在powershell中传递 "get-content command "中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57651933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com