tpogih
Newbie | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору NeoAnomaly спасибо) но после того как написал обошел эту проблему) может кому пригодится код)) единственная пробелма осталась, это чтобы на выходе файл был в кодировка 1251, пока не получается это сделать Код: # ---------------скачаиваем список----------------------- write-host 'скачаиваем список пользователей.....' & 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' http://----------export=csv"&"det=web50rep510326979b7c4097942fd7d7d1c369b3 Start-Sleep -s 15 write-host 'перетаскиваем в рабочую папку.....' Move-Item $env:USERPROFILE\downloads\web50rep510326979b7c4097942fd7d7d1c369b3.csv -Destination "\\-------------------\Инвентаризация_ПО\list.csv" -Force Start-Sleep -s 15 #----------------------------Обновляем список распределенных лицензий---------------------------------- write-host 'Обновляем список распределенных лицензий.....' $oExcel = New-Object -ComObject "Excel.Application" $oExcel.DisplayAlerts = $false $oWorkbook = $oExcel.Workbooks.Open("\\-------------------\лицензии_ПО.xls") $oWorkbook.Sheets.Item("Распределение на пользователей").SaveAs("\\-------------------\Инвентаризация_ПО\лицензии_ПО.csv", 6) $oWorkbook.Close() $oExcel.Quit() Start-Sleep -s 5 # ---------------Обновляем Конечный файл со списком разрешенного ПО------------- write-host 'Обновляем Конечный файл со списком разрешенного ПО.....' remove-item "\\-------------------\Инвентаризация_ПО\result(old).csv" rename-item "\\-------------------\Инвентаризация_ПО\result.csv" -NewName "\\-------------------\Инвентаризация_ПО\result(old).csv" New-Item "\\-------------------\Инвентаризация_ПО\result.csv" -ItemType "file" -Force 'AssetName;Software;softwareVersion;Publisher;Total;Разрешение;Лицензия' | out-file "\\-------------------\Инвентаризация_ПО\result.csv" –append Start-Sleep -s 3 # ------------------Помечаем ПО(Разрешено ли пользоваться + наличие Лицензии)------------------------ write-host 'пошла проверка.....' $list = Import-Csv "\\-------------------\Инвентаризация_ПО\list.csv" -Delimiter ";" -Encoding UTF8 $Agree = Import-Csv "\\-------------------\Инвентаризация_ПО\список разрешенного.csv" -Encoding utf8 $licension = Import-Csv "\\-------------------\Инвентаризация_ПО\лицензии_ПО.csv" -Encoding utf8 -Delimiter ";" $list | ForEach-Object { $_ | Add-Member NoteProperty Лицензия -value $Лицензия $_ | Add-Member NoteProperty Разрешение -value $Разрешение $Soft = $_.software $Agree | ForEach-Object { if ($soft -match $_.Software) { $Разрешение = "разрешено"} } if ($Разрешение -eq "разрешено") {$Разрешение = "разрешено" ; $Лицензия = "Не требуется"} $Soft = $_.software $User = $_.AssetName if ($Разрешение -ne "разрешено" ) { $licension | ForEach-Object { if (($soft -eq $_.Software) -and ($user -eq $_.AssetName)) { $Лицензия = "Есть лицензия" ; $Разрешение = "разрешено"} elseif (($soft -match $_.Software) -and ($user -notmatch $_.assetname) -and ($Разрешение -ne "разрешено")) { $Разрешение = "разрешено"; $Лицензия = "Необходимо назначить лицензию" } elseif ($Разрешение -ne "разрешено") { $Разрешение = "не разрешено" ; $Лицензия = "Не известно"; } } } $_.Разрешение = $Разрешение $_.Лицензия = $Лицензия $_ | export-csv -Delimiter ";" -path "\\-------------------\Инвентаризация_ПО\result.csv" -append -Encoding ASCII Clear-Variable -Name Разрешение, Soft, User, Лицензия } remove-item "\\-------------------\Инвентаризация_ПО\list.csv" remove-item "\\-------------------\Инвентаризация_ПО\лицензии_ПО.csv" |
| Всего записей: 14 | Зарегистр. 17-10-2014 | Отправлено: 10:32 27-03-2015 | Исправлено: tpogih, 10:37 27-03-2015 |
|