【发布时间】:2018-12-27 18:01:48
【问题描述】:
我正在使用一个名为 MobaXterm 的工具来打开与 Linux 虚拟机的 SSH 会话。我正在尝试从脚本创建主机名的导入文件,这样我就可以动态创建要连接的 VM 列表,而无需在 MobaXterm Gui 中手动添加它们。为此,我创建了以下 PowerShell 脚本,该脚本从 .csv 文件中读取主机名和 IP 地址。该脚本正在创建一个 .mxtsessions 文件,并且该文件似乎是我从 MobaXterm 的会话文件导出测试中导出的文件。这是我的工作脚本:
$csvFilename = 'C:\mobaxterm\mobaXterm.csv'
$outfile = 'C:\mobaxterm\MobaXterm_Sessions.mxtsessions'
$csv = Import-Csv -Path $csvFilename -Delimiter ','
@'
[Bookmarks]
SubRep=
ImgNum=42
'@ | Out-File -FilePath $outfile
$output = foreach ($line in $csv) {
"$($line.hostname)= #109#0%$($line.ip)%22%[loginuser]%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#MobaFont%10%0%0%0%15%236,236,236%0,0,0%180,180,192%0%-1%0%%xterm%-1%0%0,0,0%54,54,54%255,96,96%255,128,128%96,255,96%128,255,128%255,255,54%255,255,128%96,96,255%128,128,255%255,54,255%255,128,255%54,255,255%128,255,255%236,236,236%255,255,255%80%24%0%1%-1%<none>%%0#0#"
}
$output | Out-File -FilePath $outfile -Append
导入文件只是一个包含两列的 .csv 文件,其中第一列包含主机名,第二列包含每个主机名的 IP 地址。
正如我所说,我的脚本似乎正在工作,因为它正在创建一个似乎有效的文件......但是当我尝试将此 .mxtsessions 文件导入 MobaXterm 时,它不会加载。没有显示错误。也许有一个日志我可以查看导入失败的原因?
为了进一步分类这个问题,我手动将一些机器手动添加到我的 MobaXterm 并导出文件。我已经将导出的文件与我使用 PowerShell 脚本创建的文件进行了比较。我没有看到两个文件之间的任何差异。两个文件的属性看起来相同(当然名称除外)。从我的比较来看,每个文件中的数据都是相同的。
谁能为我提供一些关于为什么我生成的 .mxtsessions 文件无法加载到 MobaXterm 的指针?我查看了 MobaXterm.log 文件,但没有看到与导入相关的任何错误?是否有其他人创建了导入会话文件并成功将其导入 MobaXterm?
本论坛可以为我提供的任何建议或指示将不胜感激。
谢谢。
【问题讨论】:
标签: powershell