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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
clio77



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

Цитата:
Если правильно понял:  
Благодарю, отличный инструмент получился.

Всего записей: 2441 | Зарегистр. 27-10-2003 | Отправлено: 07:15 27-03-2019
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет, подскажите пожалуйста, вот у меня есть скрипт который расшифровывает жесткий диск и перезапускает службу MSSQLSERVER. Я запускаю его на виртуальной машине hyper-v.
Подскажите, как сделать чтобы при запуске он выполнялся в определенной виртуальной машине?
т.е. запускаю скрипт на любой тачке в домене, он подключается к виртуальной машине с именем sqlserver, авторизуется под текущим пользователем если это администратор домена (в других случаях слать лесом), и выполняет эту команду
 

Код:
 
$SecureString = ConvertTo-SecureString "12233445" -AsPlainText -Force;
Unlock-BitLocker -MountPoint "E:" -Password $SecureString;
stop-service MSSQLSERVER -force -PassThru;
get-service MSSQLSERVER | Foreach { start-service $_.name -passthru; start-service $_.DependentServices -passthru};
 
 


Всего записей: 673 | Зарегистр. 04-03-2010 | Отправлено: 10:57 31-05-2019 | Исправлено: b7music, 10:58 31-05-2019
YuS_2



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

Цитата:
на любой тачке в домене, он подключается к виртуальной машине с именем sqlserver, авторизуется под текущим пользователем если это администратор домена (в других случаях слать лесом), и выполняет эту команду


Код:
icm -comp sqlserver -filepath .\script.ps1

-выполняется от имени админа, который должен состоять в группе админов на целевой машине. И естественно, сеть должна работать между вирт.машиной и машиной с которой происходит управление, про WinRM и список разрешения хостов, даже не упоминаю, это должно быть настроено заранее для работы.
либо проходить авторизацию:

Код:
icm -comp sqlserver -cred sqlserver\admin -filepath .\script.ps1

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 12:55 31-05-2019 | Исправлено: YuS_2, 12:56 31-05-2019
Dacor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите , как на windows 7 запустить Add-VpnConnectionRoute ?
Установил Windows Management Framework 5.1, но чо то не работает..

Всего записей: 1483 | Зарегистр. 02-08-2007 | Отправлено: 15:38 31-05-2019
YuS_2



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

Цитата:
Подскажите , как на windows 7 запустить Add-VpnConnectionRoute ?

Никак. Там нет соответствующего модуля и установить его, скорее всего, проблематично.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 07:12 01-06-2019
Dacor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
модуля нет, стопудово. Это я проверил разными командами, в том числе и посмотрел на диске. И этот модуль никак не устанавливался, я переписал этот модуль с 10ки, но все равно не работает. Вот чо ему не так?

Всего записей: 1483 | Зарегистр. 02-08-2007 | Отправлено: 16:34 01-06-2019
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dacor
то, что эта функциональность не повершела а оси
На выбор: или использовать старые/внешние средства (route -add в сочетании с хз чем),
 или выкидывать некроОС в пользу десятки, где это управлется через WMI читай повершел

Всего записей: 17149 | Зарегистр. 14-10-2001 | Отправлено: 08:51 02-06-2019
Dacor

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Печаль печаль, но ничего не поделать. Благодарствую!

Всего записей: 1483 | Зарегистр. 02-08-2007 | Отправлено: 15:24 02-06-2019 | Исправлено: Dacor, 15:24 02-06-2019
a929151



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

Код:
$app = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe'
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
$Template = [Windows.UI.Notifications.ToastTemplateType]::ToastImageAndText04
[xml]$ToastTemplate = ([Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent($Template).GetXml())
[xml]$ToastTemplate = @"
<toast scenario="reminder" launch="app-defined-string">
  <visual>
    <binding template="ToastGeneric">
      <text>Downloading...</text>
      <image placement="hero" src="E:\303336.png"/>
    </binding>
  </visual>
  <actions>
  </actions>
</toast>
"@
$ToastXml = New-Object -TypeName Windows.Data.Xml.Dom.XmlDocument
$ToastXml.LoadXml($ToastTemplate.OuterXml)
$notify = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($app)
$notify.Show($ToastXml)

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 22:08 03-07-2019
iNNOKENTIY21



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

Цитата:
Подскажите, какую команду добавить чтобы убрать сообщение из центра уведомлений?  

Методы ToastNotificationHistory Class (Windows.UI.Notifications) - Windows UWP applications | Microsoft Docs
Метод Clear(String applicationId) - уберёт все сообщения от этого applicationId
Код ниже добавляет в ваш код вызов еще 2 сообщений, пауза 2 секунды и удаление всех сообщений от $app

Код:
$notify.Show($ToastXml)
$notify.Show($ToastXml)
Start-Sleep -Seconds 2
[Windows.UI.Notifications.ToastNotificationManager]::History.Clear($app)

последними строками в ваш код.

Всего записей: 3519 | Зарегистр. 16-08-2012 | Отправлено: 23:22 03-07-2019
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21, Огромное вам СПАСИБО!
Можно ещё спросить?
Как обновить вот эти значения у уже запущенного уведомления?

Код:
$Title =  
$value =  
$Override =  
$status=  


Код:
$app = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe'
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
$Template = [Windows.UI.Notifications.ToastTemplateType]::ToastImageAndText04
$Title = 'Загрузка... '
$value = '0.35'
$Override = '3/15'
$status= 'Downloading...'
[xml]$ToastTemplate = ([Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent($Template).GetXml())
[xml]$ToastTemplate = @"
<toast scenario='reminder' launch="action=viewDownload&amp;downloadId=9438108">
  <visual>
    <binding template="ToastGeneric">
      <text>Downloading this week's new music...</text>
      <progress
        title="$Title"
        value="$value "
        valueStringOverride="$Override"
        status="$status"/>
    </binding>
  </visual>
 
  <actions>
    <action
      activationType="background"
      arguments="action=pauseDownload&amp;downloadId=9438108"
      content="Pause"/>
 
    <action
      activationType="background"
      arguments="action=cancelDownload&amp;downloadId=9438108"
      content="Cancel"/>
  </actions>
</toast>
"@
$ToastXml = New-Object -TypeName Windows.Data.Xml.Dom.XmlDocument
$ToastXml.LoadXml($ToastTemplate.OuterXml)
$notify = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($app)
$notify.Show($ToastXml)
#Start-Sleep -Seconds 2  
#[Windows.UI.Notifications.ToastNotificationManager]::History.Clear($app)

 
 
 

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 23:45 03-07-2019 | Исправлено: a929151, 23:46 03-07-2019
iNNOKENTIY21



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

Цитата:
Как обновить вот эти значения у уже запущенного уведомления?  

Этого не знаю. Могу только ссылку дать, Индикатор выполнения всплывающего уведомления и привязка данных - Windows UWP applications | Microsoft Docs а как к PowerShell перевести, незнаю.

Всего записей: 3519 | Зарегистр. 16-08-2012 | Отправлено: 00:18 04-07-2019
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я нашёл похожий на обновление уведомления кусок кода  здесь.
Не пойму, обновлять он должен или для чего другого.
 

Код:
$Text1 = New-BTText -Content 'This is a test'
$Text2 = New-BTText -Content 'This more testing'
$AppLogo = New-BTImage -Source 'https://raw.githubusercontent.com/Windos/BurntToast/master/Media/BurntToast.png' -Crop Circle -AppLogoOverride
$Binding1 = New-BTBinding -Children $Text1, $Text2 -AppLogoOverride $AppLogo
$Visual1 = New-BTVisual -BindingGeneric $Binding1
$Content = New-BTContent -Visual $Visual1
 
$AppId = "{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe"
 
$null = [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
$null = [Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime]
 
$ToastXml = [Windows.Data.Xml.Dom.XmlDocument]::new()
 
$CleanContent = $Content.GetContent().Replace('<text>{', '<text>')
$CleanContent = $CleanContent.Replace('}</text>', '</text>')
$CleanContent = $CleanContent.Replace('="{', '="')
$CleanContent = $CleanContent.Replace('}" ', '" ')
 
$ToastXml.LoadXml($CleanContent)
$Toast = [Windows.UI.Notifications.ToastNotification]::new($ToastXml)
 
Register-ObjectEvent -InputObject $Toast -EventName 'Activated' -Action {Write-Warning 'WORKING!'}
 
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($AppId).Show($Toast)

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 00:47 04-07-2019
AkeHayc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята поможите.
Есть доменный контроллер Windows 2016.
Нужно узнавать когда заходил пользователь на компьютер. То есть получить эти данные в виде таблицы чтобы там было указано имя компьютера, время/дата, IP адрес, учетная запись.  
Например:
 
   
 
 
Сам начал копать, и выяснилось что это можно сделать двумя способами:
1. Через логон скрипт/групповые политики, делаем скрипт для загрузки данных на сервер
2. Через логи на сервере, а именно выцепить событие 4768/4776
 
Второй вариант больше нравится, сейчас думаю как это можно реализовать.\
Так как тема баян, и всего скорей есть готовое решение, то предложите пожалуйста.

Всего записей: 519 | Зарегистр. 24-02-2009 | Отправлено: 09:41 05-09-2019 | Исправлено: AkeHayc, 09:59 05-09-2019
AkeHayc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче нашел заготовку и поменял немного под себя:

Цитата:
$query_sec = @"
<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*`
[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and `
TimeCreated[timediff(@SystemTime) &lt;= 7200000] and `
(EventID=4768)]]</Select>
  </Query>
</QueryList>
"@
 
 
 
Try
 {
 $domain_controller = "ADcom.ITPALA.LOCAL"
      ForEach ($dc in $domain_controller)  
              {
 
              $Events = Get-WinEvent -ComputerName $dc -FilterXml $query_sec -ErrorAction Stop
 
         ForEach ($event in $Events)  
                  {
 
                     $eventXML = [xml]$Event.ToXml()
 
                     For ($i=0; $i -lt $eventXML.Event.EventData.Data.Count; $i++)  
                              {
                              Add-Member -InputObject $Event -MemberType NoteProperty -Force `
                                         -Name $eventXML.Event.EventData.Data[$i].Name `
                                         -Value $eventXML.Event.EventData.Data[$i].'#text'
                                               }
                                         }
 
 
 
    $filename = "C:\temp\"+$dc+"_failed_logins_"+$time+".txt"
 
 
    $Events | Select-Object @{Name="UID";Expression={$_.TargetUserName}},`
                @{Name="IP";Expression={$_.IpAddress.substring(7)}},`
                @{Name="Hostname";Expression={[System.Net.Dns]::GetHostbyAddress($_.IpAddress.substring(7))| select-object -Property Hostname | ForEach-Object {$_.HostName}}},`
                @{Name="TimeCreated";Expression={$_.TimeCreated}},`
                @{Name="Event ID";Expression={$_.ID}},`
                @{Name="Source";Expression={$_.MachineName}}`
                | FT `
                | Out-File $filename  
 
 
    $subject = "Bad Logins on " + $dc + " at " + $time
    $body = Get-Content -Path $filename -Raw
 
 
 
        }
    }
 
Catch [Exception]
    {
    Write-Output " "
    Write-Output "$dc has no relevant event logs!"
    }

 
Вообщем вышло так:
   
 
Конечно корявый результат, но результат.

Всего записей: 519 | Зарегистр. 24-02-2009 | Отправлено: 13:19 05-09-2019 | Исправлено: AkeHayc, 13:27 05-09-2019
hyperx32

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Хотел узнать про скрипт, который бы очищал  систему от мусора
Удаление точек восстановления кроме последней.
Очистка временных директорий  
Очистка кеша магазина windows  
Удаление остатков от старых дров
Очистка temp, winsxs и т.д.  
Возможно такое?

Всего записей: 43 | Зарегистр. 14-10-2019 | Отправлено: 14:23 30-10-2019
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyperx32
Погуглить не пробовал?
Прям по списку.
 
Добавлено:

Цитата:
Очистка временных директорий


Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 15:54 30-10-2019
hyperx32

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a929151
гугл знает, да не все, а здесь все таки люди больше видели и больше знают.

Цитата:
Цитата:
Очистка временных директорий
 

Спс

Всего записей: 43 | Зарегистр. 14-10-2019 | Отправлено: 18:21 30-10-2019 | Исправлено: hyperx32, 18:24 30-10-2019
a929151



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заблуждение.
 
Добавлено:

Всего записей: 1359 | Зарегистр. 30-03-2016 | Отправлено: 19:34 30-10-2019 | Исправлено: a929151, 20:27 30-10-2019
hyperx32

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

Цитата:
Заблуждение.

Вынужден согласиться.

Всего записей: 43 | Зарегистр. 14-10-2019 | Отправлено: 00:17 31-10-2019 | Исправлено: hyperx32, 00:21 31-10-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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