Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Прошу указать на ошибки

Ответить
Настройки темы
PowerShell - Прошу указать на ошибки

Пользователь


Сообщения: 122
Благодарности: 6

Профиль | Отправить PM | Цитировать


Очень много писал на батче, в итоге решил уйти от него совсем на ПС, начал как водиться с малого, скрипт работает, прошу указать на явные косяки из ряда: "так не делается" или "можно было сделать на много проще"
*для вин7

Код: Выделить весь код
### ver.0.1
### Ищет последний скаченый системой googlechromestandaloneenterpriseXXXXXXX_msi.msi в BBCA
### и сохраняет его путем замены на файл сервере


###Определяем разрядность
function Get-Platform {if ([System.IntPtr]::Size -eq 4) {"x86"}
else {"x64"}}
$xx = Get-Platform

###Подстраиваем путь сурс под это дело
if ($xx -eq "x64") {
    $Source = "C:\Program Files (x86)\BMC Software\BBCA\Tuner\.marimba\BBCA_ClientWorkstation"
} ELSE { 
    $Source = "C:\Program Files\BMC Software\BBCA\Tuner\.marimba\BBCA_ClientWorkstation"
}

###
$Dest = "\\servername\path"
$filter = "googlechromestandaloneenterprise"
$OldMsi = Get-ChildItem -Path $Dest | Where-Object {$_.Name -match $filter}

### Source

$GoogleMsi = Get-ChildItem -Path $Source -Recurse | Where-Object {$_.Name -match $filter} | sort LastWriteTime
$LastMSI = $GoogleMsi | select -Last 1

### Reports
echo "All files:"
$GoogleMsi | select -Property Name,LastWriteTime | Format-List
echo "Selected:"
$LastMSI | select -Property Name,LastWriteTime | Format-List

#Compare 

If ($LastMSI.LastWriteTime -le $OldMsi.LastWriteTime) {
            echo NEW: $LastMSI.LastWriteTime
            echo Last: $OldMsi.LastWriteTime
            echo "OK, no need update"
} ELSE {
            echo NEW: $LastMSI.LastWriteTime
            echo Last: $OldMsi.LastWriteTime
            echo "Start copy process?"
            pause
            Remove-Item $OldMsi.FullName -Force
            Copy-Item $LastMSI.FullName -Destination $Dest
            $CopyedMsi = Get-ChildItem -Path $Dest | Where-Object {$_.Name -match $filter}
            $CopyedMsi.FullName | rename-item -NewName googlechromestandaloneenterprise.msi

}
`

Отправлено: 10:55, 18-09-2015

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Прошу указать на ошибки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как указать хост? Koresov Хочу все знать 4 24-05-2013 22:06
[решено] Помогите указать навигацию к файлам! Bullet-Avalon Вебмастеру 3 20-12-2008 14:03
Route/Bridge - Как указать компу на какое LAN подключение ему "смотреть"? Intergo Сетевые технологии 8 25-01-2008 12:17
как грамотно указать путь в ссылке Vi-P Вебмастеру 8 15-12-2006 18:59
как указать место на странице для часиков koresaram Вебмастеру 2 23-07-2003 09:48




 
Переход