Инструменты пользователя

Инструменты сайта


scripts:ps

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
scripts:ps [28.07.2025 08:56] – [Число прописью] viacheslavscripts:ps [31.07.2025 14:17] (текущий) – [Псевдонимы (алиасы)] viacheslav
Строка 26: Строка 26:
 </code> </code>
 https://devblogs.microsoft.com/scripting/powertip-reload-your-powershell-profile/ https://devblogs.microsoft.com/scripting/powertip-reload-your-powershell-profile/
 +
 +==== Неправильная кодировка в консоли ====
 +Особенно характерно для Powershell ISE.
 +
 +<code powershell>
 +# Сохранить исходную кодировку
 +$oldEnc = [console]::OutputEncoding
 +# Задать нужную и выполнить команду
 +[console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
 +$result = & curl.exe -X GET -su $cred $url
 +# Вернуть исходную кодировку
 +[console]::OutputEncoding = $oldEnc
 +</code>
 +https://stackoverflow.com/questions/58438095/powershell-string-variable-with-utf-8-encoding
 ===== Active Directory ===== ===== Active Directory =====
 ==== Показать значение атрибута msDS-cloudExtensionAttribute1 текущего пользователя ==== ==== Показать значение атрибута msDS-cloudExtensionAttribute1 текущего пользователя ====
Строка 893: Строка 907:
 https://stackoverflow.com/questions/6413182/how-to-display-values-in-asp-net-chart-control\\ https://stackoverflow.com/questions/6413182/how-to-display-values-in-asp-net-chart-control\\
 https://stackoverflow.com/questions/1058572/hiding-the-gridlines-on-an-asp-net-chart-control/1368853 https://stackoverflow.com/questions/1058572/hiding-the-gridlines-on-an-asp-net-chart-control/1368853
 +
 +===== Локальная сеть =====
 +==== При входе на терминальный сервер выход из старых сессий на других серверах ====
 +Логон-скрипт для пользователя.\\
 +Из списка, где перечислены все терминальные сервера, выбираются все, кроме того, на котором сработал скрипт.\\
 +Далее для каждого сервера выполняется выборка и выход из сессии, если юзер найден.
 +<code powershell>
 +$servers = @(
 +"SRV-TL-TSD0108"
 +"SRV-TL-TSD0208"
 +"SRV-TL-TSD0308"
 +"SRV-TL-TSD0408"
 +"SRV-TL-TSD0508"
 +"SRV-TL-TSD0608"
 +) -ne $env:COMPUTERNAME
 +
 +$servers |% {
 +$users = qwinsta /server:$_ |% {$_.trim() -replace "\s+",","} |ConvertFrom-Csv
 +    if ($user = $users |? ПОЛЬЗОВАТЕЛЬ -eq $env:username) {
 +        logoff /server:$_ $user.id
 +    }
 +}
 +</code>
  
 ===== Интернет ===== ===== Интернет =====
Строка 1167: Строка 1204:
 [environment]::getfolderpath('startup') [environment]::getfolderpath('startup')
 C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
 +</code>
 +
 +==== Объём каталогов у пользователей на терминальном сервере ====
 +<code powershell>
 +# Корень с каталогами пользователей
 +$users = dir "c:\users" -Directory
 +# Файл отчёта
 +$reportFile = "c:\temp\$(get-date -f yyyy-MM-dd-HH-mm-ss) Отчёт по профилям пользователей.csv"
 +
 +function Measure-Folder ($path,$displayname) {
 +    if (test-path $path) {$size = ((dir $path -file -recurse |select -expand length |measure -Sum).sum / 1mb).ToString("0.00")}
 +    else {$size = "Отказано в доступе"}
 +    "$($path.Split('\')[-2]);$displayname;$size"
 +}
 +
 +$report = foreach ($user in $users) {
 +    Measure-Folder -path "$($user.fullname)\desktop" -displayname "Рабочий стол"
 +    Measure-Folder -path "$($user.fullname)\downloads" -displayname "Загрузки"
 +    Measure-Folder -path "$($user.fullname)\videos" -displayname "Видео"
 +}
 +
 +# Сохранение
 +"Имя пользователя;Папка;Размер (МБ)" > $reportFile
 +$report >> $reportFile
 </code> </code>
  
scripts/ps.1753692987.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki