Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Windows PowerShell 1.x/2.x/CTP

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Открыть новую тему     Написать ответ в эту тему

tcg2



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Microsoft Windows PowerShell

 
Обсуждаемые темы

    * Работа с SQL
    * Работа с Visual Studio
    * etc.

 
Помощь по использованию консоли pwsh, а также встроенной в Windows консоли powershell.exe  

Всего записей: 7 | Зарегистр. 20-11-2006 | Отправлено: 19:06 29-11-2006 | Исправлено: YuS 2, 18:04 02-06-2020
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
здравствуйте
 
на просторах интернета нашел такой скрипт

Код:
Get-ChildItem -Recurse -Path c:\windows\temp | where {-not $_.PSIsContainer} | select FullName, length, @{Name="Owner";Expression={(Get-ACL $_.fullname).Owner}}, Name

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

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 09:16 14-10-2015
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tolyn77
На вскидку

Код:
Get-ChildItem -Recurse -Path c:\windows\temp | where {-not $_.PSIsContainer} | select DirectoryТame, Name, length, @{Name="Owner";Expression={(Get-ACL $_.fullname).Owner}}

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:44 14-10-2015
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
все равно DirectoryName, Name урезаются тремя точками

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 11:38 19-10-2015
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tolyn77
Тогда тупо сделайте шрифт 10 и размер окна 200 символов по горизонтали

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:56 19-10-2015
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
а я тупо делаю> txt.txt
на экран все равно не хватит места там пользователи иногда такие имена делают, что 256 символом маловато

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 12:32 19-10-2015 | Исправлено: tolyn77, 12:34 19-10-2015
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tolyn77
или Отстреливать пользователей
или Пусть гадят у себя в профиле

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:12 19-10-2015
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
приучили

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 14:27 19-10-2015 | Исправлено: tolyn77, 15:00 19-10-2015
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

формат вывода добавить.
можно просто списком - 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

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 02:59 22-10-2015 | Исправлено: iNNOKENTIY21, 03:02 22-10-2015
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
спасибо
Format-Table - получается покажет результат после того как обработает все данные полученые из запроса?
Format-List выдал полностью без обрезания, только вот как теперь посчитать?
а как можно добавить условие выборку по определенному владельцу?

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 12:40 27-10-2015 | Исправлено: tolyn77, 12:50 27-10-2015
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

так 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

так однострочник в войну и мир превратится скоро

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 13:26 27-10-2015
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
спсб

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 15:48 27-10-2015
Belua



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Есть XML  в котором вложенность атрибутов достигает 4 уровня
 

Код:
<Document>
     <Facial>
           <Client>
           <Number>
           <INN>
           <Contract>
                 <Balance>
                           <Insaldo>
                           <Bill>

 
Получить таблицу из второго уровня я могу:
 

Код:
$data = [xml](new-object system.net.webclient).downloadstring("g:\client.xml")
$data.Document.Facial | Format-Table -Property Client, Number, Inn  

 
Но не могу понять, как мне затащить в эту таблицу данные из нижестоящих уровней - <Insaldo>, <Bill>

Всего записей: 175 | Зарегистр. 09-03-2007 | Отправлено: 20:05 15-03-2016
Dacor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите кто знает, как разархивировать 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й версией это не работает(((

Всего записей: 1480 | Зарегистр. 02-08-2007 | Отправлено: 19:17 06-06-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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)

 
Но опять же возникает вопрос, на сколько полно проводник поддерживает архивы. По крайней мере пару раз встречал zip архивы, которые не смог открыть на win 7. Поэтому лучшим вариантом может стать использование сторонних архиваторов.

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 08:30 07-06-2016 | Исправлено: NeoAnomaly, 08:32 07-06-2016
Dacor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
Что то это не заработало. Я не большой спец в повершеле. Вызываю команду из батника. А так конечно, внешний архиватор пока спасает положение.

Всего записей: 1480 | Зарегистр. 02-08-2007 | Отправлено: 18:18 07-06-2016
angeltwo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dacor
В Powershell 2.0 вместо  Add-Type надо использовать [System.Reflection.Assembly]::LoadWithPartialName("ИмяСборки").
Вместо ИмяСборки подставить нужное

Всего записей: 257 | Зарегистр. 09-05-2007 | Отправлено: 07:46 10-06-2016 | Исправлено: angeltwo, 07:47 10-06-2016
JOHN

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В AD в атрибутах пользователя используется поле "Пейджер" (pager). Скрипты которые используют этот параметр работают и все нормально. Сейчас задача найти пользователей у которых это поле пустое. Использовал команду  
Get-ADUser -Filter * -SearchBase "тут имя контейнера" | ft Name, SamAccountName, pager
Но в таблице выводит только выводимое имя и логон, а поле пейджер показывает пустое у всех. Не могу понять в чем проблема
 
PS вопрос снят. Надо было так  
Get-ADUser -Filter * -SearchBase "тут имя контейнера" -properties pager | ft Name, SamAccountName, pager

Всего записей: 37 | Зарегистр. 10-10-2003 | Отправлено: 14:47 29-06-2016 | Исправлено: JOHN, 16:32 29-06-2016
Scaramanga



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Del

Всего записей: 516 | Зарегистр. 24-04-2008 | Отправлено: 15:51 23-08-2016 | Исправлено: Scaramanga, 18:02 23-08-2016
174bpm



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему тема в ПРИКЛАДНОМ программировании?!
Это же СИСТЕМНОЕ?!
 
Или кто-то блокноты с калькуляторами делает на Powershell с интерфейсом на чистом WinAPI?

Всего записей: 885 | Зарегистр. 12-01-2006 | Отправлено: 11:07 05-12-2016
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Вот, прорекламирую тему
http://forum.ru-board.com:9000/topic.cgi?forum=35&topic=80470#4
 
там в 4 посте ещё ссылка на вторую параллельную

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 11:41 05-12-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Windows PowerShell 1.x/2.x/CTP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru