Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


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

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


Наваял вот такой скрипт, можно ли его оптимизировать по скорости работы.
Скажем я пытался в команде Get-ChilItem в -Filter запихнуть два значения: *.log, *.ini. Но два он не обрабатывает или я не правильно, что-то написал. Пришлось запихнуть данные в -include ( он субъективно, медленнее работает)
Можно ли не создавать переменную $MM? Там текущий месяц. Если просто подоставить в:
Код: Выделить весь код
-and $_.CreationTime.Month -like "(get-date).Month"}
то скрипт ничего не обрабатывает, как-будто в этом месяце не было записей...
Сам скрипт:
Код: Выделить весь код
$AddDirectory = Read-Host "Please write name Directory"
New-item "$AddDirectory" -ItemType Directory
Write-Host "$addDirectory was create in current directory"
$MM = (get-date).Month
$AddDay = Read-Host "Please write day then log file was create"
$AddPCName = Read-Host "Please write PC name."
$ArrayPC = $addPCName -split "[,]"
foreach ($1 in $ArrayPC) {
 IF (Test-connection -Quiet -Delay 1 -Count 2 -ErrorAction SilentlyContinue  -ComputerName $1)
 {
 $file = Get-ChildItem \\$1\C$\folder\* -Include *.log, *.ini | '
Where-Object {$_.CreationTime.Day -like "$AddDay" '
-and $_.CreationTime.Month -like "$MM"}
 New-item -Path $AddDirectory -Name $1 -ItemType Directory
 Copy-Item $file -Destination $AddDirectory\$1
 "Компьютер $1 включен. Файлы скопированы." }
 Else {"Компьютер $1 выключен.Создана запись в файл ShutDownPC."
 Add-Content -Path "$AddDirectory\ShutDownPC.txt" -Value "Компьютер $1 выключен"
 }}

Отправлено: 18:32, 15-12-2010 | #3