需要专家的帮助,你需要专家的帮助(3天后尝试自己的大声笑)。这里是我的脚本失败的部分:Powershell报价使用现状
$yy=(get-date).Year
Invoke-Command -ComputerName *ipaddress* -Credential $moveitcred {
move-item -path "C:\iCApps\Dev\LetterGenerator\Letters\FTS\EDMS\*.txt" -destination "C:\Moveitft\Dev\Letters\Outbound" -force
Start-Process -FilePath "C:\Program Files\7-Zip\7z.exe" -ArgumentList "a -y C:\Moveitft\Dev\Letters\archive\Letters$yy_.zip C:\Moveitft\Dev\Letters\Outbound\*.*"
}
该举措正常工作。和拉链工作正常,除非我想包括年变量($ YY)在参数列表中。 Powershell不想填充变量来调整文件名。要么是引用了$ null,要么是在$ yy应该是空白的情况下完成工作。
如果我从提示符运行$ yy,它确实会返回正确的年份值,所以我猜测它是不正确使用引号。但经过3天的搜索,我自己尝试了各种组合,现在我正在扔毛巾。任何帮助/指导将大大如此赞赏:)
是否有理由认为目标服务器的年份与执行调用的年份不同?尝试在启动进程行之前在脚本块中声明$ yy,然后查看是否得到了你需要的内容。否则,你可能不得不使用-ArgumentList和Invoke-Command – notjustme
正确!也感谢mjsr的高级管理人员,他们昨天真的很想念这个问题。然后对你来说,以及谁今天早上确认它:)这解决了它 - 在脚本块中声明! –