皆さん、のPowershell事前
私はいくつかの答えを見つけましたが、彼らは、マニュアルの配列のためにあるように見えるか、明確な番号を知っているとき。私はそこにどれくらいの人がいるのかわからない配列を持っています。私が助けを得ることができるかどうか疑問に思いました。
基本的には、各サーバーに行き、OCXとDLLの名前、バージョン、日付を取得してスプレッドシートに入れたいと思います。
一度しかうまくいかないようですね。それは私の配列の次のファイルに移動しません。
とても近いイム、誰かが私がそれを伝えることができます(すべてのファイルを取得して終了するまでOK、次のサーバに事前にいけない)
はここで、これまでに私のコードです。うまく動作しますが、サーバごとに1つのファイルに対してのみ有効です。
事前に感謝します。
$Servers = Get-Content C:\temp\Servers.txt
$objExcel=New-Object -ComObject Excel.Application
$objExcel.Visible=-1
$WorkBook=$objExcel.WorkBooks.Add()
$sheet=$workbook.worksheets.item(1)
$class = "win32_Share"
$sheet.Cells.item(1,1)=("Server")
$sheet.Cells.item(1,2)=("File Name")
$sheet.Cells.Item(1,3)=("File Version")
$sheet.Cells.Item(1,4)=("Date")
$sheet.Range("A1:D1").interior.colorindex = 43
$x=2
$i = 0
foreach ($Server in $Servers) {
$infos = Invoke-Command -computername $Server {Get-ChildItem "V:\Service\*" -File -Include *.dll, *.ocx | Select-Object name,@{label="FileVersion";expression={$_.versioninfo.fileversion}},@{label="Date";expression={$_.LastWriteTime}}}
$info = $infos[$i]
$sheet.Cells.item($x, 1)=($Server)
$sheet.Cells.item($x, 2)=($info.name)
$sheet.Cells.item($x, 3)=($info.FileVersion)
$sheet.Cells.item($x, 4)=($info.Date)
$x++
$i++
}
#Autofit columns when completed
$range = $sheet.usedRange
$range.EntireColumn.Autofit()
これは決して$ info [$ i]配列を前進しているようです。
ありがとうございました! – TelluRye