我试图从远程服务器获取文件的最后写入时间。
这不起作用:
$server = "MyServerName"
$lastWrite = Invoke-Command -Computername $server -ScriptBlock {Get-ChildItem "\\$args[0]\hot.war" } -argumentlist $server | select -Property LastWriteTime
这确实有效:
$lastWrite = Invoke-Command -Computername $server -ScriptBlock {Get-ChildItem "\\MyServerName\hot.war" } -argumentlist $server | select -Property LastWriteTime
任何人都可以帮助制作第一套作品吗?
答案 0 :(得分:2)
请注意字符串中的变量:"\\$args[0]\hot.war"
将扩展为\\MyServerName[0]\hot.war
。
使用"\\$($args[0])\hot.war"
确保将$args[0]
视为单个表达式。
答案 1 :(得分:1)
另一种方法,如果您使用的是PowerShell 3.您可以执行以下操作:
$lastWrite = Invoke-Command -Computername $server -ScriptBlock {
Get-ChildItem "\\$using:server\hot.war"
} | select -Property LastWriteTime
答案 2 :(得分:0)
您需要将服务器变量添加到第一行...
$server = "MyServerName"
$lastWrite = Invoke-Command -Computername $server -ScriptBlock {Get-ChildItem "\\$server\hot.war" } -argumentlist $server | select -Property LastWriteTime