Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» PowerShell

Автор: 01MDM
Дата сообщения: 13.03.2010 20:17
Weinaum

Цитата:
Можно ли сделать так, чтобы PowerShell помнил команды и после закрытия, типа как терминал в линуксе?

Можно добавить в $Profile функцию сохранения истории команд в файл перед выходом из сеанса, и импорта этой истории при новом запуске powershell. Что-нибудь подобное:

Код:
if (gci "$home\posh-history.csv" 2>$null) {

import-csv "$home\posh-history.csv" | add-history

}

# Остальные функции profile.ps1

function _exit {

get-history -count $MaximumHistoryCount | export-csv "$home\posh-history.csv"
exit

}
Автор: kermit
Дата сообщения: 16.03.2010 21:02
что за &%$^%$#\!
никак не могу скачать PowerShell 2.0
cайт микрософта отправляет на какую-то страницу, с безумным списком
а здесь прямые ссылки не работают ((((((((((

01MDM
Mastering PowerShell тоже не качается!
Автор: 01MDM
Дата сообщения: 17.03.2010 06:19
kermit
Наверное это заговор.
Автор: raizo
Дата сообщения: 17.03.2010 21:22
kermit
интересно где ты искал))
все дистры PS 2.0 тут
Автор: kermit
Дата сообщения: 18.03.2010 09:53
raizo
я эту страницу и имел в виду, там куча ссылок, но я не вижу главной - скачать PS 2.0!

Windows PowerShell Web site
Windows PowerShell Online Help
Windows PowerShell Blog
Windows PowerShell Newsgroup
Windows PowerShell Software Development Kit (SDK)

Про сам ПоШ только описание

Иду по первой ссылке на сай PS, там есть ссылка на скачивание, которая возвращает на эту же страницу

вобщем не смейтесь , а лучше надоумьте как скачать или киньте ПЛЗЗЗ прямую ссылку

да и шапку не мешало бы обновить, оттуда прямая ссылка на PS 2.0 не открывается

Добавлено:


UPD:
что я уже делал -
в разделе "Windows Management Framework Core (WinRM 2.0 and Windows PowerShell 2.0)"
скачал WindowsXP-KB968930-x86-RUS.exe, установил, но в C:\WINDOWS\system32\WindowsPowerShell есть только папка v1.0

Пуск-Выполнить- powershell - открывается версия 1.0

Добавлено:
а вот и прямая ссылка для Windows XP (32bit):
Автор: Drunken_Master
Дата сообщения: 18.03.2010 11:55
kermit
так и должно быть. Вторая версия тоже устанавливается в папку v1.0.
Проверить версию можно, выполнив в PS:

Код: $host.version
Автор: AlexShad
Дата сообщения: 19.03.2010 13:39

Цитата:
Кто-нибудь использовал коммандлет Add-Type в Powershell 2.0 для вызова WIN32 API функций?


Вот неплохая статья по этой тематике
http://scriptik.com/using-cmdlet-add-type-for-calling-win32api-functions-in-powershell-v2
Автор: kermit
Дата сообщения: 19.03.2010 21:17
Drunken_Master

Цитата:
так и должно быть. Вторая версия тоже устанавливается в папку v1.0.
Проверить версию можно, выполнив в PS


ОМГ!!! я тут чуть с ума не сошел в поисках )


Автор: VovaMozg
Дата сообщения: 12.04.2010 13:20
Люди, а подскажите кто-нить, может тема уже мелькала. Как в PowerShell 2.0 используя Remoting перенаправлять графику? Или вообще где увидеть графическое приложение?
Автор: amnon10
Дата сообщения: 06.05.2010 08:16
#$%&*#$$!!!!!
Слов не хватает.. дабы спасти нервы остальным, сообщаю тому, кто не знал:
Команда Move-Item Folder/Folder Folder2/Folder -Force
НЕ перезаписывает папку если таковая уже имеется в приемнике.
А теперь внимание вопрос: КАКОГО ХРЕНА?!?...
Прошу прощение за крик...
Автор: johnysc3
Дата сообщения: 15.05.2010 21:26
Подскажите, пожалуйста, как заставить работать с 1С8 такой скрипт:

Код:
$connector = new-object -comobject "V81.COMConnector"
$connection=$connector.connect("File=""d:\Bases1C\""; Usr="""";Pwd = """";")
$ChangeName="Обмен"
$ref=$connection.Справочники.НастройкиОбменаДанными.НайтиПоНаименованию($ChangeName).Ссылка
$noderef=$connection.ПроцедурыОбменаДанными.ВыполнитьОбменДаннымиПоПроизвольнойНастройке($ref,$null,$null)
Автор: Refugee
Дата сообщения: 16.05.2010 02:35
johnysc3
Powershell не поддерживает такие вызовы через IDispatch по именам, а обертки создать не может, т.к. у 1с typelibrary нет. Надо:

$cats = [System.__ComObject].InvokeMember("Справочники",[System.Reflection.BindingFlags]::GetProperty,$null,$connection,$null)
$nod = [System.__ComObject].InvokeMember("НастройкиОбменаДанными",[System.Reflection.BindingFlags]::GetProperty,$null,$cats,$null)
$fnd = [System.__ComObject].InvokeMember("НайтиПоНаименованию",[System.Reflection.BindingFlags]::InvokeMethod,$null,$nod,$ChangeName)
$ref = [System.__ComObject].InvokeMember("Ссылка",[System.Reflection.BindingFlags]::GetProperty,$null,$fnd,$null)
Автор: johnysc3
Дата сообщения: 16.05.2010 17:36
Refugee
Огромное спасибо! Работает!
Автор: Black_Swan
Дата сообщения: 20.05.2010 10:37
Привет народ!
Не пойму вот какой момент, в инете много примеров работы с Active Directory через PowerShell, где можно увидеть к примеру комндлет Get-ADUser. Но проблема в том, что у меня он не работает. Может кто в курсе почему? Или может их нужно добавлять самостоятельно, если да то как?
Моя версия PS 2
Автор: Rafusia
Дата сообщения: 01.06.2010 10:23
Вопрос по исключениям.

$Directory = "P:\---"

$Exclude = "name1", "name2", ...

$Files = dir -path $Directory -recurse -exclude $Exclude

del $Files -recurse

создал, простенький скрипт для чистки папки, с исключением по определенным названиям папок!

то есть не удалять только папки с названиями в переменной $files но чистить их рекурсивно. Сейчас появилась необходимость в нашей директории оставить постоянную папку которая не чистится? Есть конечно вариант с бэкапом этой папки в начале скрипта а потом заливать обратно! Не могу сообразить есть вариант с двойным исключением в скрипте?

Заранее спасибо!
Автор: BOA_KAA
Дата сообщения: 01.06.2010 10:39
Black_Swan


Цитата:
Командлеты AD Powershell доступны, начиная с Windows Server 2008 R2. Чтобы использовать командлеты AD Powershell, в домене должен быть хотя бы один контроллер на основе Windows Server 2008 R2.
http://blogs.technet.com/b/adpowershell_ru/archive/2009/02/25/active-directory-windows-powershell-quick-start-guide.aspx


Добавить просто нечего.
Автор: demoded
Дата сообщения: 08.06.2010 10:54
помогите сформировать даты для SQL запроса
поменять месяц и день у меня получилось, но мне надо еще задать к сегодняшней дате время...


Код: $TodayDate = Get-Date
$FromDateSQL = $TodayDate -f 'MM/dd/yyyy'
$ToDateSQL = $TodayDate -f 'MM/dd/yyyy'
Автор: ComradG
Дата сообщения: 08.06.2010 14:20

Цитата:
ftype microsoft.powershellscript.1=%windir%\system32\windowspowershell\v1.0\powershell.exe "&'%1' %*"

Чего-то это не катит.

Цитата:
set-executionpolicy unrestricted

Правильнее было бы использовать set-executionpolicy RemoteSigned
И... может стоит добавить в шапку ссылку http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx
Автор: 01MDM
Дата сообщения: 08.06.2010 21:13
ComradG

Цитата:
Чего-то это не катит.

Это сделано специально в целях безопасности. Все скрипты ассоциированы с блокнотом. Я не проверял, попробуй:

Код:
ftype Microsoft.PowerShellScript.1=cmd /c powershell -c %1
Автор: ComradG
Дата сообщения: 09.06.2010 14:33

Цитата:
Я не проверял

Думаю мы поняли друг друга в плане того, что имеется в виду XP. А вот это

Цитата:
ftype Microsoft.PowerShellScript.1=cmd /c powershell -c %1

работает при условии, что %1 взято в кавычки. Что довольно странно.
Автор: 01MDM
Дата сообщения: 09.06.2010 21:52
ComradG

Цитата:
Думаю мы поняли друг друга в плане того, что имеется в виду XP

Это имеет значение? Специально попробовал на XP - работает.

Цитата:
работает при условии, что %1 взято в кавычки. Что довольно странно.

Лучше в кавычки. На случай пробелов в пути к файлу.


Автор: Ramzeskz
Дата сообщения: 30.06.2010 09:26
Здрасте, помогите практиканту. Стоит такая задача, написать скрипт на PS, суть заключается в том чтобы найти файлы к примеру 29-930-231-87-11-12 , которые обновляются раз в день, брать вчерашние файлы, архивировать и удалять их. Не подскажете как это реализовать
Автор: iRogalik
Дата сообщения: 11.07.2010 11:39
Есть 2 вопроса, как запустить процесс с ПОНИЖЕННЫМИ привилегиями?
Как прибить процесс, у которого привилегии системы?
Автор: radchin
Дата сообщения: 14.07.2010 10:09
Есть слелующая задача, требующая следующее:
1. из сценария запустить Internet Explorer
2. развенуть его на весь экран
3. вывести окно Internet Explorer на передний план (чтобы IE был по верх остальных окон)
4. отобразить в брузере необходимую страничку
5. убрать с экрана курсор мыши

Для этого был написан следующий сценарий, который запускается из автозапуска, при регистрации пользователя, и успешно справляется с первыми четыремя пунктами задачи.

Никак не могу сообразить, как убрать курсор мыши с центра экрана (уж больно сильно мешает)? Помогите, пожалуйста. Может кто уже сталкивался с подобным?


Код:
$WshShell = New-Object -ComObject WScript.Shell
$ie = New-Object -ComObject InternetExplorer.Application

$ie.FullScreen = $true
$ie.StatusBar = $false
$ie.Visible = $true
$ie.Navigate("http://forum.ru-board.com")


while($ie.LocationName -eq ""){}


$WindowTitle = $ie.LocationName + " - " + $ie.Name

$WshShell.AppActivate($WindowTitle)
Автор: BVV63
Дата сообщения: 18.08.2010 11:39
Приветствую здешних старожилов.
Вооружившись вумной книжкой принялся за изучение "PowerShell". Ну, и понятно, что вопросы на текущий момент у меня соответствующего уровня.
Можно ли использовать в скрипте "PowerShell" внешние процедуры, аналогично как в батниках (Call)? Т. е. сценарий разбивать на несколько файлов, главный и дочерние, и из главного вызывать дочерние. Ну, подразумевается: есть ли простой законный способ? В книженции я что-то не нашёл ответа.
Автор: BVV63
Дата сообщения: 24.08.2010 10:47
Мда... В темах "Задачи на bat-файлах 8" в данном разделе и "Командная строка, батники, сценарии (bat, cmd)" в "Программы" постится по несколько страниц за день, а тут тишина... Это однозначно говорит о том, насколько "батаника" на текущий момент популярнее в широких массах, нежели "PowerShell".
Но может кто-нить всё же откликнется ?.. Вопрос такой. При выполнении сценария вывод команд перенаправляется в файл. Можно в сцерании как-нить единожды настроить это перенаправление (сделать по умолчанию), дабы постоянно его не прописывать во многих строках? Ну, за исключением команд, вывод которых явно перенаправляется в Nul.

Добавлено:
Я подразумеваю не протоколирование, там будет слишком много ненужного.
Автор: Andrue
Дата сообщения: 08.09.2010 17:59
такая задача

скрипт запускается 1 раз в час
проверяет свободное место на диске
если оно меньше опред значения (100МБ)
надо удалять файлы с самой старшей датой создания
ПРИЧЕМ файлы лежат в нескольких папках
структура такая

ДАТА1
- 00-06
- CHL01
file1.idx
file1.h264
file2.idx
file2.h264
.......
.......
fileXX.idx
fileXX.h264
- CHL02
....
- 06-12
- CHL01
file1.idx
file1.h264
file2.idx
file2.h264
.......
.......
fileXX.idx
fileXX.h264
- CHL02
....
- 12-18
- CHL01
file1.idx
file1.h264
file2.idx
file2.h264
.......
.......
fileXX.idx
fileXX.h264
- CHL02
....
- 18-00
- CHL01
file1.idx
file1.h264
file2.idx
file2.h264
.......
.......
fileXX.idx
fileXX.h264
- CHL02
....
ДАТА2
....

то есть самые старшие файлы - файлы ХХ в каждой папке
(файлы на диска с такой стуктурой создает программа видеонаблюдения
которая когда остается на диске свободно менее 100МБ останавливает запись)
Автор: mptok
Дата сообщения: 09.09.2010 23:24
Бесплатная книга о PowerShell на русском - http://cid-d489fb91b2112580.skydrive.live.com/browse.aspx/Materials/Powershell
Автор: BVV63
Дата сообщения: 10.09.2010 07:46
mptok
Она (ссылка на неё) уже есть в шапке: "Windows PowerShell Франк Кох (БЕРН) Разработчик и пропагандист платформы. На русском языке в формате pdf и doc".
Автор: ComradG
Дата сообщения: 10.09.2010 12:13
В шапке отсутствует топик по созданию пользовательских командлетов. Может стоит его туда прикрутить, ведь наверняка это будет полезно, потому как я сам только с оным стал разбираться, а вменяемых маннов по сабжу мало (на самом msdn их всего два).

Страницы: 123456789101112131415161718192021222324

Предыдущая тема: Не понятная проблема с видеокартой.


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