gpt4 book ai didi

xml - 通过Powershell循环进行迭代时无法访问XML元素

转载 作者:行者123 更新时间:2023-12-03 00:40:27 25 4
gpt4 key购买 nike

首先,我要说我是一个完全没有Powershell经验的实习生。我已尽我所能整理了这个脚本,并且碰壁了。

基本上,我有一个Powershell脚本,它将查询服务器和文件的XML列表,以查看其中一个文件是否已被修改。我遍历服务器场和服务器没有问题,但是访问文件的属性时却一无所获。

$foreach($Farm in $serverList.Environment.Farm) {
Write-Host .FARM: $Farm.Name
foreach($Server in $serverList.Environment.Farm.Server) {
Write-Host ..SERVER: $Server.Name
foreach($File in $serverList.Environment.Farm.Server.File) {

$fullPath = "\\"+$Server.Name+"\"+($File.Path).Replace(":","$")+$File.Version+"\CONFIG\"+$File.Name
$lastModified = (Get-Item $fullPath).LastWriteTime.toString()

write-host ...FILEPATH: $fullPath $lastModified

... processing if/thens ...
} } }

如果我要查看1台服务器的文件,则一切运行正常。但是,一旦在XML文件中添加了另一台服务器,当我尝试使用$ File属性构建$ fullPath时,我将得到空值。

任何帮助将不胜感激。

最佳答案

没有示例数据,我将无法测试,但可以尝试如下操作:

foreach ($Farm in $serverList.Environment.Farm) {
Write-Host ('.FARM: ' + $Farm.Name)
foreach ($Server in $Farm.Server) {
Write-Host ('..SERVER: ' + $Server.Name)
foreach($File in $Server.File) {
$fullPath = "\\"+$Server.Name+"\"+($File.Path).Replace(":","$")+$File.Version+"\CONFIG\"+$File.Name
$lastModified = (Get-Item $fullPath).LastWriteTime.toString()
write-host "...FILEPATH: $fullPath $lastModified"
# ... processing if/thens ...
}
}
}

首次尝试的基本问题是,在$ Server循环中,您需要遍历$ Farm的子项,而在$ File循环中,需要遍历$ Server的子项。

关于xml - 通过Powershell循环进行迭代时无法访问XML元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6777743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com