【发布时间】:2019-07-25 19:24:16
【问题描述】:
我正在编写一个脚本,该脚本从存储在远程计算机上的 XML 文档中获取远程计算机上文件夹的位置。然后我想将文件夹复制到本地 PC。这是我目前拥有的代码:
Invoke-Command -Session $TargetSession -ScriptBlock {
if (Test-Path "$env:USERPROFILE\pathto\XML") {
[xml]$xml = Get-Content $env:USERPROFILE\pathto\XML
$XMLNode = $xml.node.containing.file.path.src
foreach ($Log in $XMLNode) {
$LogsP = Split-Path -Path $Log -Parent
$LogsL = Split-Path -Path $Log -Leaf
}
} else {
Write-Host "There is no XML file!"
}
Copy-Item -Path "$LogsP" -FromSession $TargetSession -Destination "$env:TEMP" -Force -Recurse -Container
$logsP 永远不会填充到 Invoke-Command 脚本块之外。我尝试使用return,尝试将其设置为全局变量,并尝试在脚本块中使用Copy-Item 命令(无论我使用 Winrm/ PS远程处理)。有谁知道我如何在脚本块之外填充$logsP?
【问题讨论】:
标签: xml powershell remoting copy-item