考虑下一个powershell对话框:
> Get-VpnConnection -AllUserConnection
Name : VPN-StackoverflowQuestion
ServerAddress : x.x.x.4
AllUserConnection : True
Guid : {XXX2C9DE-58F0-41E4-XXXX-9809E90DCXXX}
TunnelType : Pptp
AuthenticationMethod : {Chap, MsChapv2, Pap}
EncryptionLevel : Optional
L2tpIPsecAuth :
UseWinlogonCredential : False
EapConfigXmlStream :
ConnectionStatus : Disconnected
RememberCredential : False
SplitTunneling : False
DnsSuffix :
IdleDisconnectSeconds : 0
这种序列化看起来很好,可读性和可编辑性。我可以使用
将其保存在文本文件(字典)中Get-VpnConnection > VPN-StackoverflowQuestion.dic
现在我想将此文本文件作为args传递给Add-VpnConnection
。可能的?
我知道Export-Clixml
,它的结果文件不可读,不可编辑且非常繁琐。
答案 0 :(得分:1)
是使用此命令:
Get-VpnConnection -AllUserConnection |out-string | out-file "c:\path\filename.txt"
你可以解析它以返回值。
另一种方式: Get-VpnConnection -AllUserConnection |out-string | out-file "c:\path\filename.csv"
然后你可以把它归还给powershell
检查一下我设置我的vpn是这样的:
$vpn = Get-VpnConnection
$vpn
$splitter = "SpliTtEr" #write custom string that you think unique
$CustomStructure = $vpn.Name+$splitter+$vpn.ServerAddress+$splitter+$vpn.AllUserConnection+$SpliTtEr+$vpn.Guid ...
$CustomStructure | Out-File C:\path\filename.txt
$getcontent = Get-Content -Path C:\path\filename.txt
$items = $getcontent -split $splitter
Set-VpnConnection -Name $items[0] -ServerAddress $items[1] ...
答案 1 :(得分:0)
结果是一个对象,导出并保存对象(CliXML,json),并在需要时将导出的文档再次转换为对象。