원격 서버에 대해 GCI를 실행하려는 간단한 문제가 있습니다. 문제는 다른 해시 테이블 속성과 결합되어 GCI가 실패합니다.해시 테이블의 속성을 확장
$ShortDate = (Get-Date).ToString('MM/dd/yyyy')
$CheckServer = @{}
$serverObjects = @() # create a list of server objects
Import-Csv $Dir\Servers.csv | ForEach {
$CheckServer.Server = $_.Server
$CheckServer.Platform = $_.Platform
if (GCI \\$_.Server\c$\log\Completed_Summary_*.html -EA 0 | where {$.LastWriteTime -ge "$ShortDate"}) {
Write-Host "FOUND"
} # end of IF GCI
} # end of For-Each
$serverObjects += New-Object -TypeName PSObject -Property $CheckServer
문제는 항목이다 :
스크립트는
여기내가있어 무엇을, 헤더는 "서버"와 "플랫폼"있는 두 개의 열이 .CSV에서 항목을 읽 $_.Server
은 SERVER1, SERVER2, SERVER3 등이어야하며 servers.csv의 모든 항목은 $_.Server
과 $_.Platform
의 값이 결합되어야합니다. 예를 들면 :
Write-Host "Checking" \\@{Server=SERVER1; Platform=PLATFORM_1}.Server\c$\log\Completed_Summary_*.html
다음과 같이 보여해야합니다
Write-Host "Checking" \\SERVER1\log\Completed_Summary_*.html
을 GCI 명령이 작동이되도록 어떻게 그들을 해제 결합합니까?
시도 : 'foreach는 (. $에서 $ 서버 _ 서버) {경우 (GCI \\ $ Server \ c $ \ log \ Completed_Summary _ * .html -EA 0 | where {$ .LastWriteTime -ge "ShortDate"}) {Write-Host "Foound"}}' – iRon