问题描述
你能帮我写这个脚本吗?我正在 PowerShell 中编写一个脚本,以便将一个 .csv 文件的数据监视到 PRTG,基本上脚本转到远程服务器,建立 SFTP 连接并将其带到 PRTG服务器。
然后我只是寻找数据,问题是我必须选择特定文件,例如在远程服务器中有一个新文件,每小时生成一个特定日期,有些值没有模式。
我已经测试过并且脚本可以正常工作,除了要查找特定文件,因为如果我放置静态名称文件可以正常工作
这些是我需要的 .csv 文件示例
结构是name + date (Y-m-d-H) + 8 characters +.csv
:
RG_400_Total_by_Hour-20210606021446-174.csv
RG_400_Total_by_Hour-20210606031630-456.csv
RG_400_Total_by_Hour-20210606041445-288.csv
RG_400_Total_by_Hour-20210606051513-761.csv
RG_400_Total_by_Hour-20210606061446-877.csv
RG_400_Total_by_Hour-20210606071446-454.csv
RG_400_Total_by_Hour-20210606081446-838.csv
RG_400_Total_by_Hour-20210606091505-171.csv
RG_400_Total_by_Hour-20210606101447-220.csv
这是我完全卡住的部分。
如何在我正在尝试的这个变量中使用通配符:
$file=$remotepath+"/RG_400_Total_by_Hour-"+$date+""+$WILDCARD???+""
这是脚本的一部分
$date= get-date -UFormat "%Y%m%d%H"
$t= Look for wildcart to use
$folder=$date
$hora= [int] (get-date (get-date).addhours(-2) -UFormat "%H")
$ayer = (get-date (get-date).addDays(-1) -UFormat "%Y%m%d")
if ($hora -eq 22) {$folder=$ayer}
if ($hora -eq 23) {$folder=$ayer}
$remotepath= $remotedir
$remotedir="/usr/local/sandvine/var/nds/cache/csv"
$file=$remotepath+"/RG_400_Total_by_Hour-"+$b+""+$t+""
$file2=$localpath+"/RG_400_Total_by_Hour-"+$b+""+$t+""
Get-SFTPFile -SFTPsession $global:Session -remotefile $file -localpath $localpath
Remove-SFTPSession -sftpsession $global:Session | Out-Null
我真的很感谢任何评论,谢谢大家。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)