我正在尝试编写一个脚本,创建一个包含VPN连接配置的"文件"(无扩展名(。我们使用的VPN应用程序(AWS(使用用户配置文件中的相关连接信息创建了一个"文件",所以我只是试图通过从头开始创建文件来复制这些信息。
我试图创建的文件示例
客户端
开发
原型udp
信息
信息
到目前为止,这是工作
$config = @'
client
dev tun
proto udp
INFORMATION
INFORMATION
'@
$config > "C:users$env:usernameAppDataRoamingAWSVPNClientOpenVpnConfigsAWS VPN Tech"
这创建了确切的文件(一个字母对一个字母(,并且似乎保持了段落格式。
然而,我的新文件是10KB,而我复制/粘贴的原始文件只有5KB。连接也会失败。虽然它看起来是在创建一个复制品,但显然不是。
我猜这是某种编码问题。不知道从哪里开始。关于原始文件的格式,我找不到太多信息。Windows只是将其视为"文件"(没有扩展名(。
我正在使用Notepad++创建我的脚本,到目前为止,还没有任何问题。
流重定向运算符(>
和>>
(在用于文件系统提供程序时默认调用Out-File -Encoding Unicode
。
相反,使用Set-Content
cmdlet,它默认为UTF8:
$config |Set-Content "C:users$env:usernameAppDataRoamingAWSVPNClientOpenVpnConfigsAWS VPN Tech"