EmachinesDIMA, Все верно, при выключении окна Powershell на котором запущено копирование процесс прервется.
Единственным минусом такого копирования будет полное отсутствие какой-либо визуализации процесса. Для устранения этого недостатка можно накидать простенький скрипт, который будет показывать какой элемент копируется в данный момент. Либо можете запустить копирование на одной из машин с/на которую будет производиться копирование.
1. Попробуйте подключиться к каждому из ПК напрямую используя системные шары \\PCName\C$
Если запросит логин/пароль введите учетные данные которые являются админскими для каждого из ПК
Если по шаре вы успешно подключаетесь к каждой из шар переходите к пункту 2, если нет надо разбираться что и где блокирует - фаерволы/групповые политики и т.д.
2. На своем ПК запускаете Powershell от учетной записи которая имеет права администратора на удаленных ПК и выполняете команду Copy-Item -Path "\\PCName01\C$" -Recurse -Destination "\\PCName01\C$" без указания учетных данных, заменив имена PC на ваши, будут использованы учетные данные вашей сессии Powershell. Вы так же можете принудительно авторизоваться для подключения к шарам под любой другой учетной записью добавив к команде выше ключ -Credentional и указав Username под которым должна выполниться команда, в момент выполнения Powershell запросит ввести пароль для авторизации.
В случае если вы хотите создать повторяющуюся задачу вы можете создать соответствующую задачу в планировщике указав учетные данные из под которых будет выполняться скрипт, в этом случае ключ -Credentional не нужен.
При использовании командлета Copy-Item не происходит никакого подключения к удаленным сессиям, все копирование производится через расшаренные папки/системные шары либо локальные пути.
EmachinesDIMA, Подключение через Enter-PSSession для этого не требуются, достаточно запустить команду копирования от доменной учетной записи имеющей права администратора на удаленных хостах.
Для копирования не требуется доступ к машине по winrm или через powershell, нужен только сетевой доступ и доступ на фаерволах к административным шарам на локальных пк.
Если я что-то не так понял и вы хотите организовать какой-то другой режим подключения/копирования опишите подробнее что вы хотите. Или вы имеете доступ через Enter-PSSession но не имеете прав локальных администраторов и хотите произвести копирование?
Хмм...что-то проверка по хэшу у вас не работает
В строчке $source_filehash = Get-FileHash -Algorithm MD5 $file
в конце надо вместо $file использовать $file.fullname
Хммм...действительно, проверил меняется значение сразу во всех переменных которые равны изменяемому, не встречал раньше такого, если найду какую инфу - напишу.
Для удаления профилей с терминального сервера рекомендую почитать статью где описано как реализовать это в том числе и с помощью Powershell winitpro.ru/index.php/2019/03/28/udalit-profil-pol... . Если будут какие-либо вопросы обращайтесь.
Groovex, Что конкретно вы хотите услышать, какие-то цифры или мнение? Чтобы дать конкретные советы надо сначала знать что именно и откуда вы запускаете. Я так понял на данный момент ОС и файл подкачки у вас стоят на HDD, с SSD у вас запускается некое тяжелое приложение и вы боитесь, что перенеся файл подкачки с HDD на SSD вы замедлите работу этого самого приложения из-за частого обращения системы к файлу подкачки все верно? при таком раскладе вам в любом случае стоит перенести файл подкачки на SSD т.к. когда системе понадобится читать/писать в файл подкачки находящийся на HDD вы будете ждать дольше чем если бы это производилось с SSD, а производительность SSD с лихвой покроет и ваше приложение и работу с файлом подкачки даже если оперативной памяти будет сильно не хватать. При любом раскладе если будете замечать просадку в производительности вам необходимо будет мониторить систему и искать слабые места например через монитор ресурсов. Попробуйте сначала один вариант, потом другой и убедитесь сами в каком случае система работает быстрее, я могу дать лишь рекомендации.
Попробуйте результат выполнения каждой части скрипта (последние 3 строчки) загнать в 3 разных переменных, затем применить к каждой переменной -replace с заменой текста ScriptOutput на нужный вам текст и после этого отправить на вывод в текстовый файл.
Согласен, посмотрел разбор, она действительно распаяна, я просто сначала почитал его технические характеристики, там было написано тип карты Дискретная, у меня это ассоциировалось с отдельными картами =)
Ubuntu и Debian полностью бесплатны как для физических лиц так и для организаций.
Windows XP для использования требуется лицензия, несмотря на то, что он уже снят с поддержки.
Linux дистрибутивов довольно большое количество и большая часть из них действительно бесплатны, но есть среди них и те, у которых по лицензионному соглашению бесплатным является использование только физическими лицами либо вовсе необходимо приобретать дистрибутив. Так что в этом случае необходимо смотреть что вы будете ставить и уточнять лицензионное соглашение.
Pavel Pavel, foreach это цикл, который производит определенные действия над каждым из объектов содержащихся в массиве, по очереди, пока не переберет их все. В переменной $folder2 содержатся имена всех файлов из папки в которой требуется переименовать файлы и цикл их берет по 1 и обрабатывает.
Цикл берет имя первого файла из переменной $folder2 и записывает его значение в переменную $fold
$tmp = берет имя файла который в данный момент обрабатывается и отбрасывает у него расширение, все что справа от точки и записывает в переменную $tmp
$tmp2 = берет список имен файлов из папки 1, из которой он будет брать новые имена для файлов и ищет в ней имя файла которое содержит значение $tmp и записывает в переменную $tmp2
$tmp3 = берет имя файла который в данный момент обрабатывается и отбрасывает все что слева от точки получая расширение файла и записывает в $tmp3
$newname = подготавливает новое имя файла собирая его из $tmp2 и расширения текущего файла $tmp3
Rename-Item производит переименование файла в директории 2 с именем текущего обрабатываемого файла на новое имя из переменной $newname
Затем цикл берет следующий файл и обрабатывает его так же, и так пока не обработает все файлы
antonwx, В таком случае думаю вам будет достаточно настроить шифрование системного раздела или всего диска. В случае если ПК изымут то при последующем включении будет запрошен пароль для запуска ОС с зашифрованного раздела. Сделать это можно с помощью встроенного в Windows Bitlocker, либо сторонним ПО, например Vera Crypt. Так же если ПК будет стоять включенным но с заблокированным экраном (пароль на учетную запись) сбросить его и зайти без перезагрузки будет невозможно, а при перезагрузке будет запрошен пароль от зашифрованного диска. Думаю этого должно быть достаточно и не стоит более заморачиваться.
Это уже другой вопрос =)
Но, конечно, лицензирование у MS очень сложное, порой сам черт ногу сломит, существуют даже специальные курсы по лицензированию ПО MS.
Adamos, Когда вы покупаете лицензию на ОС вы заключаете лицензионное соглашение с разработчиком о правах использования данного продукта и в случае выявления каких-либо нарушений проверяющие имеют право привлечь к ответственности, сравнивать с обычным товаром не корректно. Если в лицензионном соглашении указано, что наклейку обязаны клеить и без нее вы права использовать не имеете, то так и будет, но при этом например могут привлечь не за использование нелицензионного софта, а за частичное нарушение лицензионного соглашения. Я не говорю, что клеить надо всегда, но при определенных условиях лицензирования она необходима.
Единственным минусом такого копирования будет полное отсутствие какой-либо визуализации процесса. Для устранения этого недостатка можно накидать простенький скрипт, который будет показывать какой элемент копируется в данный момент. Либо можете запустить копирование на одной из машин с/на которую будет производиться копирование.