Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Windows PowerShell 1.x/2.x/CTP

Автор: KapralBel
Дата сообщения: 14.10.2015 10:44
tolyn77
На вскидку

Код: Get-ChildItem -Recurse -Path c:\windows\temp | where {-not $_.PSIsContainer} | select DirectoryТame, Name, length, @{Name="Owner";Expression={(Get-ACL $_.fullname).Owner}}
Автор: tolyn77
Дата сообщения: 19.10.2015 11:38
KapralBel
все равно DirectoryName, Name урезаются тремя точками
Автор: KapralBel
Дата сообщения: 19.10.2015 11:56
tolyn77
Тогда тупо сделайте шрифт 10 и размер окна 200 символов по горизонтали
Автор: tolyn77
Дата сообщения: 19.10.2015 12:32
KapralBel

а я тупо делаю> txt.txt
на экран все равно не хватит места там пользователи иногда такие имена делают, что 256 символом маловато
Автор: KapralBel
Дата сообщения: 19.10.2015 13:12
tolyn77
или Отстреливать пользователей
или Пусть гадят у себя в профиле
Автор: tolyn77
Дата сообщения: 19.10.2015 14:27
KapralBel
приучили
Автор: iNNOKENTIY21
Дата сообщения: 22.10.2015 02:59

Цитата:
не подскажите как можно сделать что бы он писал длинные имена не сокращая?

формат вывода добавить.
можно просто списком - Format-List или, если надо таблицей Format-Table -wrap (переносить на след строку)
и вывод в файл задав ширину в примере -Width 1000

Код: Get-ChildItem -Recurse -Path $env:TEMP | where {-not $_.PSIsContainer} | select FullName, length, @{Name="Owner";Expression={(Get-ACL $_.fullname).Owner}}, Name | Format-Table -AutoSize -Wrap | Out-File -FilePath $env:TEMP\txt.txt -Width 1000 | notepad $env:TEMP\txt.txt
Автор: tolyn77
Дата сообщения: 27.10.2015 12:40
iNNOKENTIY21
спасибо
Format-Table - получается покажет результат после того как обработает все данные полученые из запроса?
Format-List выдал полностью без обрезания, только вот как теперь посчитать?
а как можно добавить условие выборку по определенному владельцу?
Автор: iNNOKENTIY21
Дата сообщения: 27.10.2015 13:26

Цитата:
а как можно добавить условие выборку по определенному владельцу?

так where использовал уже.
where Owner -eq "домен\имя" | применительно к данному скрипту.
где:
Owner владелец (сам же указал Name="Owner")
-eq (равно)
"домен\имя" (кого фильтруем)


Код: Get-ChildItem -Recurse -Path $env:TEMP | where {-not $_.PSIsContainer} | select FullName, length, @{Name="Owner";Expression={(Get-ACL $_.fullname).Owner}}, Name | where Owner -eq "NT AUTHORITY\система" | Format-Table -AutoSize -Wrap | Out-File -FilePath $env:TEMP\txt.txt -Width 1000 | notepad $env:TEMP\txt.txt
Автор: tolyn77
Дата сообщения: 27.10.2015 15:48
iNNOKENTIY21
спсб
Автор: Belua
Дата сообщения: 15.03.2016 20:05
Здравствуйте!
Есть XML в котором вложенность атрибутов достигает 4 уровня


Код: <Document>
<Facial>
<Client>
<Number>
<INN>
<Contract>
<Balance>
<Insaldo>
<Bill>
Автор: Dacor
Дата сообщения: 06.06.2016 19:17
Подскажите кто знает, как разархивировать zip в powershell 2

В 4й версии я делаю вот так:
powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('файл.zip', 'x:назначение'); }"

а в windows 7 c 2й версией это не работает(((
Автор: NeoAnomaly
Дата сообщения: 07.06.2016 08:30
System.IO.Compression.FileSystem доступен в .net framework начиная с версии 4.5

Можно попробовать работать с архивом через shell функции(в код необходимо добавить обработку ошибок):


Код: $ZipPath = 'c:\test.zip'
$FolderPath = 'c:\test_unpacked\'
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($ZipPath)
$destinationFolder = $shellApplication.NameSpace($FolderPath)
$destinationFolder.CopyHere($zipPackage.Items(), 20)
Автор: Dacor
Дата сообщения: 07.06.2016 18:18
NeoAnomaly
Что то это не заработало. Я не большой спец в повершеле. Вызываю команду из батника. А так конечно, внешний архиватор пока спасает положение.
Автор: angeltwo
Дата сообщения: 10.06.2016 07:46
Dacor
В Powershell 2.0 вместо Add-Type надо использовать [System.Reflection.Assembly]::LoadWithPartialName("ИмяСборки").
Вместо ИмяСборки подставить нужное
Автор: JOHN
Дата сообщения: 29.06.2016 14:47
В AD в атрибутах пользователя используется поле "Пейджер" (pager). Скрипты которые используют этот параметр работают и все нормально. Сейчас задача найти пользователей у которых это поле пустое. Использовал команду
Get-ADUser -Filter * -SearchBase "тут имя контейнера" | ft Name, SamAccountName, pager
Но в таблице выводит только выводимое имя и логон, а поле пейджер показывает пустое у всех. Не могу понять в чем проблема

PS вопрос снят. Надо было так
Get-ADUser -Filter * -SearchBase "тут имя контейнера" -properties pager | ft Name, SamAccountName, pager

Страницы: 1234567

Предыдущая тема: Assembler


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.