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

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

Автор: tcg2
Дата сообщения: 29.11.2006 18:06
Microsoft Windows PowerShell


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

* Работа с SQL
* Работа с Visual Studio
* etc.
Автор: ShIvADeSt
Дата сообщения: 30.11.2006 00:58
Язык программирования, какой именно SQL и прочее.
Автор: AleXeyS55
Дата сообщения: 02.03.2007 12:31
например Oracle 9 или 10
Автор: TCPIP
Дата сообщения: 05.11.2008 19:21
tcg2
Нет проблем. Нужен SQL-поставщик - snap-in SQLProvider.dll. Добавляете его в GAC, затем в PowerShell

Цитата:
PS>$env:Windir\Microsoft.NET\Framework\v2.0\.50727\InstallUtil.exe SQLProvider.dll
PS>Add-PsSnapin SqlPrototypeProvider

И можете работать с SQL.
Если же возможностей поставщика не хватает, можете обращаться к .NET-сборкам напрямую через reflection:

Цитата:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO")
или

Цитата:
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.Smo,Culture=Neutral,Version=9.0.242.0,PublicKeyToken=89845dcd8080cc91") | out-null


Ну, а объект, как всегда создаете вот так:


Цитата:
$server = new-object "Microsoft.SqlServer.Management.Smo.Server" myServer

Сорри, что я вот так очень кратко...
Вот тут можно больше узнать.

(Очень своевременно конечно, но, быть может, кто дополнит...)
А хде у нас ветка по PoSH? :wondering:
Автор: ShIvADeSt
Дата сообщения: 06.11.2008 01:14
TCPIP

Цитата:
А хде у нас ветка по PoSH? :wondering:

А по нему много вопросов, чтобы отдельную ветку создавать? Да и эти вопросы более годичной давности.
Автор: TCPIP
Дата сообщения: 06.11.2008 02:21
ShIvADeSt

Цитата:
А по нему много вопросов, чтобы отдельную ветку создавать?

Ну, я бы не брался так априори-то оценку давать.
Ветка по программированию на .NET есть же. Это ее подмножество.
По языкам сценариев полно веток, чем эта лишняя? Тем более, что не понятно, зачем на платформе Windows нужны JScript и VBScript, да в общем-то и Perl, при наличии PoSH?
Автор: ShIvADeSt
Дата сообщения: 06.11.2008 13:54
TCPIP
Тады пусть это и будет ветка по PoSH. Будет популярна - прибью наверх. Отредактируй путеводитель, чтобы там упоминание было.
Автор: TCPIP
Дата сообщения: 06.11.2008 14:01
ShIvADeSt
ОК. Шапку прибей, плиз. Хорошо бы переименовать тему, тем более, что предвидится не так много вопросов с разбросом по тематикам.

Добавлено:
Ну, тогда полетели. Перший вопрос от меня.
Как встроить PowerShell в Visual Studio, чтобы можно было пользоваться всеми преимуществами студии - IntelliSense, отладка?
Я знаю, народ использует сторонние IDE, вроде того, что от Sapien. Но, как-то это странно выглядит... Ладно там, если нет Visual Studio, а если она есть, зачем еще какую-то замену? Тем более платную. А Visual Studio Express Edition 2008 (каковая весьма неплоха вроде) так и вообще бесплатна.
Только вот как прикрутить-то?
Макаферти вкладывал XML-шаблон. Но это, прости парень, ничего не дает. Вроде как если бы я ярлык PoSH на панель инструментов встроил. И что?

Есть идеи?
Автор: sadasaf
Дата сообщения: 05.12.2008 01:02
по нему много вопросов, чтобы отдельную ветку создавать?
Автор: alroy
Дата сообщения: 03.06.2009 19:05
У меня такой вопрос в большинстве все задачи автоматизации решал и решаю с помощью VBS . Узнав про новые возможности PoSH хотел бы узнать у знающих людей
1 за что нравился VBS если надо вывод информации в консоль если не надо работает скрытно . Может ли Posh работать также нажал запустить скрипт он тихо отработал без мелкания консолей и т д если надо то инфу наоборот в консоль ???
2 Очень привлекла Возможность работать с Forms тем более при наличии такого хорошего инструмента как PrimalForms

Tак вот самый главный вопрос могу ли я управлять появлением консоли по желанию
если мне надо передать информацию в форму мне не надо на экране консоль так можно делать ??????
Автор: XOCT
Дата сообщения: 10.08.2009 23:34

Ну, а объект, как всегда создаете

Автор: HomoLogicus
Дата сообщения: 26.11.2009 15:09
Привет, народ. у меня вопрос по командлету Send-MailMessage.
У него есть параметр -Encoding, только непонятно как его задавать. Что не задашь он ругается на невозможность предразования типа стриг в тип энкодинк. По умолчаниу идет кодировка us-ascii и соответственно в заголовке и втеле пичсьма одни вопросики
Непонятен также смысл параметра -Priority. Если его задаешь например High, то в теле писма появляется Importance: low, а Priority:остается как и был non-urgent
Автор: TsvIlya
Дата сообщения: 26.11.2009 15:42
HomoLogicus
http://technet.microsoft.com/en-us/library/dd347693.aspx
Тут сказано, что валидные значения кодировки ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default, и OEM. Попробуйте UTF8, вроде все почтовые сервисы и клиенты уже без проблем с юникодом работают.
Если проблемы останутся, то можно попробовать использовать SmtpMail из .NET: http://msdn.microsoft.com/en-us/library/9b46af9f.aspx
Автор: valya666
Дата сообщения: 13.01.2010 13:37
Пожалуйста помогите написать программу вычисления суммы отрицательных, произведения по-ложительных и количества нулевых значений в одномерном массиве
Автор: KapralBel
Дата сообщения: 13.01.2010 15:17

Код: $arr = 1,2,3,4,-1,-2,0,0,-5,9
$summ = 0
$pr = 1
$cnt = 0
ForEach ($a in $arr)
{
if ($a -eq 0) {$cnt += 1}
elseif ($a -lt 0) {$summ += $a}
elseif ($a -gt 0) {$pr *= $a}
}
"Количество нулевых значений :"+$cnt
"Произведение полож. значений :"+$pr
"Сумма отрицательных значений :"+$summ
Автор: Host123
Дата сообщения: 13.01.2010 18:11
Help, please!!!Написать программу расчета СА отрицательных элементов в одномерном массиве. Заменить минимальный элемент в одномерном массиве на СА.
Автор: KapralBel
Дата сообщения: 14.01.2010 10:43
Что такое СА? в данном контексте
Советская Армия?
Автор: Host123
Дата сообщения: 14.01.2010 15:32
Извиняюсь СА-среднее арифметическое...
Автор: KapralBel
Дата сообщения: 14.01.2010 16:26

Код: $arr = 1,2,3,4,-1,-2,0,0,-5,9,-4
$summ = 0
$min_v = 0
$min_n = 0
$cnt = 0
For ($i = 0; $i -lt $arr.Count; $i++)
{
$a = $arr[$i]
if ($a -lt 0)
{
$summ += $a
$cnt += 1
if ($a -lt $min_v)
{
$min_v = $a
$min_n = $i
}
}
}
$arr1[$min_n] = $summ / $cnt
"Ср. арифметическое :" + $summ / $cnt
"Номер изменяемого :" + $min_n
"Измененный массив"
$arr1
Автор: Host123
Дата сообщения: 16.01.2010 14:22
а это в ассемблере будет работать?
Автор: KapralBel
Дата сообщения: 17.01.2010 17:57
Ээээээ.... вопрос можно переформулировать?
Автор: resetsa
Дата сообщения: 07.03.2010 16:10
подскажите пожалуйста - это фича такая?
пример
есть код

Код:
$ar_1=@(1,3,4,3)
$ar_2=@(2,0,4,3)

function check_arrays($ar_a,$ar_b)
{
write "array 1:"
$ar_a
write "array 2:"
$ar_b
}

check_arrays ($ar_1,$ar_2)
Автор: baribal
Дата сообщения: 09.03.2010 14:18
Кто-нибудь использовал коммандлет Add-Type в Powershell 2.0 для вызова WIN32 API функций?
Автор: VovaMozg
Дата сообщения: 03.04.2010 12:00
resetsa вызывай
check_arrays $ar_1 $ar_2

Автор: vii
Дата сообщения: 03.05.2010 23:04
Подскажите, это баг или я что-то не так делаю? Сабж только начал осваивать.
Эта строка возвращает список процессов и SessionId для них правильно.

Get-Process -computername localhost | Format-Table ProcessName, SessionId

А вот эта показывает, что все SessionId равны нулю, хотя имена процессов все верные.

Get-Process -computername localhost | Format-Table ProcessName, SessionId

Если пытаюсь с удаленной машины получить список процессов, то тоже все SessionId возвращаются нулевые.
Автор: vii
Дата сообщения: 04.05.2010 16:51
Похоже, это таки баг
http://objectmix.com/csharp/250749-remote-process-getprocesses-sessionid.html
Автор: radchin
Дата сообщения: 02.08.2010 17:09

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


в документации есть следующий пример. Попробуйте, если это то, что Вам нужно, конечно же

Код: $signature = @"
[DllImport("user32.dll")]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@

$showWindowAsync = Add-Type -memberDefinition $signature -name "Win32ShowWindowAsync" -namespace Win32Functions -passThru

# Minimize the Windows PowerShell console
$showWindowAsync::ShowWindowAsync((Get-Process -id $pid).MainWindowHandle, 2)

# Restore it
$showWindowAsync::ShowWindowAsync((Get-Process -id $pid).MainWindowHandle, 4)
Автор: indgr
Дата сообщения: 10.08.2010 12:04
Добрый день всем.

Задача заклучается в следующем: есть диапозон сети "10.1.1.х" в котором находятся рабочии станции. необходимо отсееть доступные от недоступных ip и проверить на них запущена ли конкретная служба.

есть два скрипта. первый проверяет диапозон сети и записывает статистику в HTML отчет 'stutasuCode "0" доступные ip':

1..254|
ForEach-Object -Process {Get-WmiObject -Class Win32_PingStatus -Filter ("Address='10.1.1." + $_ + "'") -ComputerName .} |
Select-Object -Property Address,ResponseTime,StatusCode | # "out-file -filepath C:\process.txt" "как вариант еще в .txt"
ConvertTo-html -Property Address,StatusCode |
foreach {
if ($_ -like "*<td>StatusCode = 0</td>*")
{$_ -replace "<tr>", "<tr bgcolor=green>"}
else {$_ -replace "<tr>", "<tr bgcolor=green>"}} > c:\ping.html

второй проверяет запущена ли служба:

get-service -name sharedaccess -computername x.x.x.x |
ConvertTo-Html -Property MachineName,Name,Status,DisplayName |
foreach {
if ($_ -like "*<td>Running</td>*")
{$_ -replace "<tr>", "<tr bgcolor=green>"}
else {$_ -replace "<tr>", "<tr bgcolor=red>"}} > c:\get-service2.html

подскажите как сделать так что бы из отчета ip с кодом "0" подставлялись сами в -computername

или может кто знает как сделать это все более проще.
Автор: Smitis
Дата сообщения: 10.08.2010 14:43
Не пойму, это уменя глючит:
Создать папку с символом "[" (открывающая квадратная скобка) могу, например:

Код: PS> md "[A]"
Автор: VovaMozg
Дата сообщения: 13.08.2010 06:25
indgr делаешь второй скрипт в виде процедуры с входным параметром, в качестве параметра будет имя компьютера, а в первом, где статус код 0 вызываешь эту процедуру

Страницы: 1234567

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


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