Size: a a a

PowerShellRus - о Powershell (и не только) на русском

2021 November 04

D

Dmitriy in PowerShellRus - о Powershell (и не только) на русском
доходило до того, что и taskkill не всегда мог процесс прибить, приходилось ребутать
источник

АП

Алексей Подчуфаров... in PowerShellRus - о Powershell (и не только) на русском
Ну например кошмаровский контролит себя и определённые службы. Не даёт их погасить.
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Тэкс, скрипт работает, дописал, для того чтоб чекать изменения в файле кстати не нужен аудит, как оказалось)
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Теперь нужен второй, который бы из выбранного архива разархивировал папку, и ставил ее на место той, которая на данный момент является важной
источник

MO

Mr Orange in PowerShellRus - о Powershell (и не только) на русском
Да что вы говорите. И по какому же событию оно у вас работает ?
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Сек, ща скину весь скрипт
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
#packer

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.IncludeSubdirectories = $true
$watcher.Path = 'C:\Users\Lenovo\Desktop\power\Важная_папка'
$watcher.EnableRaisingEvents = $true

$action = {
archiv
}

Register-ObjectEvent $watcher 'Created' -Action $action
Register-ObjectEvent $watcher 'Changed' -Action $action
Register-ObjectEvent $watcher 'Deleted' -Action $action
Register-ObjectEvent $watcher 'Renamed' -Action $action


while ($true) {sleep 5}

function archiv {
$Folder4Pack = 'C:\Users\Lenovo\Desktop\power\Важная_папка' # откуда пакуем
$PackerDest = 'C:\Users\Lenovo\Desktop\power\backups' #куда пакуем
Start-Sleep -Seconds 1 # это чтобы имя точно отличалось на минимум 1 секунду

$textname = 'Важная_папка'
$NameOfDaPack = (Get-Date -Format "MM_dd_yyyy_HH_mm_SS")+'.zip'

Compress-Archive -Path $Folder4Pack -DestinationPath $NameOfDaPack
Get-ChildItem $PackerDest # что получили в архивной папке
}
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Единственное, я не понял как в имени архива добавить еще и имя папки, которая архивируется, помимо даты
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Теперь осталось запустить это как службу, раз не хотите наследоваться от событий
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Просто создать переменную и прибавить ее к дате не получается, также датой обзывается архив, имени нет
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Ну да, естественно
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
В задании это и подразумевается
источник

MO

Mr Orange in PowerShellRus - о Powershell (и не только) на русском
Пыффф
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Создавайте имя "$name $(get-date -format) ahuenny archive.zip"
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
То есть сначала создам переменную условно $name = "Важная_папка", а после уже в другой переменной могу прибавить ее к get-date?
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Или как?
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
$textname = 'Важная_папка'
$NameOfDaPack = $textname $(Get-Date -Format "MM_dd_yyyy_HH_mm_SS")+'.zip'
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Так ошибку показывает
источник

PP

Pavel Pavlov in PowerShellRus - о Powershell (и не только) на русском
Да и вообще это костыль, в переменную руками придется вводить название папки, а желательно чтоб это было автоматически
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Вот то, что в кавычках — это прямо будет готовая строка с нужными данными
источник