使用 PowerShell 将数据附加到 FTP 服务器上的 CSV 文件
Append data to a CSV file on an FTP server using PowerShell
我正在尝试使用 PowerShell 将数据附加到 FTP 服务器上的 CSV 文件。
目前我的脚本工作正常,但它正在覆盖数据。
这是我的代码的主要部分:
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)
$UserInfo = [pscustomobject]@{
UserName = $env:UserName
ComputerName = $env:computername
}
$contents =
(($UserInfo | ConvertTo-Csv -NoTypeInformation) -join [Environment]::NewLine) +
[Environment]::NewLine
$webclient.UploadString(($ftp + "/Installed.csv"), $contents)
理想情况下,我想在没有任何本机插件或库的情况下执行此操作。我唯一能想到的另一件事是使用 get-content
之类的东西从文件中获取当前数据,然后新数据将是
getcontent myfile.csv
+ 来自 $UserInfo
的新数据
基本上,我是通过组策略安装 VPN,并想记录谁成功安装了客户端。不幸的是,我们没有任何软件分发平台,所以我们正在尝试使用 GP 和 FTP 来执行此任务。
如有任何建议,我们将不胜感激。提前谢谢你。
WebClient
不可能。但是可以用 FtpWebRequest
and WebRequestMethods.Ftp.AppendFile
.
来完成
$request = [System.Net.WebRequest]::Create("ftp://example.com/remote/path/file.txt")
$request.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$request.Method = [System.Net.WebRequestMethods+Ftp]::AppendFile
$ftpStream = $request.GetRequestStream()
$writer = New-Object System.IO.StreamWriter($ftpStream)
$writer.Write($contents)
$writer.Close()
$ftpStream.Dispose()
我正在尝试使用 PowerShell 将数据附加到 FTP 服务器上的 CSV 文件。 目前我的脚本工作正常,但它正在覆盖数据。
这是我的代码的主要部分:
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)
$UserInfo = [pscustomobject]@{
UserName = $env:UserName
ComputerName = $env:computername
}
$contents =
(($UserInfo | ConvertTo-Csv -NoTypeInformation) -join [Environment]::NewLine) +
[Environment]::NewLine
$webclient.UploadString(($ftp + "/Installed.csv"), $contents)
理想情况下,我想在没有任何本机插件或库的情况下执行此操作。我唯一能想到的另一件事是使用 get-content
之类的东西从文件中获取当前数据,然后新数据将是
getcontent myfile.csv
+ 来自 $UserInfo
基本上,我是通过组策略安装 VPN,并想记录谁成功安装了客户端。不幸的是,我们没有任何软件分发平台,所以我们正在尝试使用 GP 和 FTP 来执行此任务。
如有任何建议,我们将不胜感激。提前谢谢你。
WebClient
不可能。但是可以用 FtpWebRequest
and WebRequestMethods.Ftp.AppendFile
.
$request = [System.Net.WebRequest]::Create("ftp://example.com/remote/path/file.txt")
$request.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$request.Method = [System.Net.WebRequestMethods+Ftp]::AppendFile
$ftpStream = $request.GetRequestStream()
$writer = New-Object System.IO.StreamWriter($ftpStream)
$writer.Write($contents)
$writer.Close()
$ftpStream.Dispose()