Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - LostMy

Страницы: [1]
1
Windows / lastLogonTimestamp
« : 11 января 2024, 14:55:14 »
Привет, есть домен, 3 контроллера на 16-19 винде, режим работы 2008r2, в нем есть 1% учеток где не корректно отображается lastLogonTimestamp, показывает 2101 год через get-aduser и через оснастку AD, на контроллерах даты корректные, я чот растерялся куда копать, гугл пока чего-то полезного не подсказал, кто-то сталкивался?


Updated: 12 January 2024, 11:34:50

откопал инфу, пару месяцев назад на одном кд время уезжало, как раз на 100 лет, думаю от туда ноги растут
пока планирую почитать что-нибудь на тему сброса этого атрибута

2
Windows / Многопоточный скрипт powershell
« : 20 ноября 2019, 17:05:15 »
Кто-нибудь пользовался? я много раз ловил себя на мысли, вот было бы хорошо запустить некий скрипт в параллельную работу, но всегда ограничивался запуском нескольких окошек powershell, сейчас увы так поступить не получается, т.к. 100 окошек запускать лень, прошу помощи

есть скрипт:
cls
$error.Clear()

$adm1 = Get-Credential "domain1\user1"
$adm2 = Get-Credential "domain2\user2"

$ShareObjList = "server1@domain1@E:\@E:\share
server2@domain2@E:\@E:\share
server3@domain2@E:\@E:\blabla
server4@domain1@D:\@D:\share
server5@domain1@G:\@G:\soft" -split "\n" | % {$_.trim()} | ? {$_}

foreach ($ShareObj in $ShareObjList){
    $ShareObj = $ShareObj -split "@" | % {$_.trim()}
    $Share = $null
    $Share = ("\\"+$($ShareObj[0])+"\"+$($ShareObj[3])).replace("$($ShareObj[2])","")
    $Cred = $null
    if ($ShareObj[1] -eq "domain2"){$Cred = $adm2}
    else {$Cred = $adm1}
    if ((Get-PSDrive "SH" -ErrorAction SilentlyContinue) -ne $null){Remove-PSDrive "SH" -Force -Verbose}
    New-PSDrive -Name "SH" -PSProvider FileSystem -Root $Share -Credential $Cred
    $result = $null
    $result = @()
    $result += Get-ChildItem "SH:\" -Recurse -Force | ? {$_.PSIsContainer -eq $true} | ? {(get-acl $_.fullname -Audit).AreAuditRulesProtected -eq $true} | % {$_.fullname}
    $error | Select TargetObject,Exception | Export-Csv $("D:\Аудит\Error_" + $($Share.Replace("\\","")).replace("\","_") + ".txt") -NoTypeInformation -Encoding Default
    $result | Out-File $("D:\Аудит\Audit_" + $($Share.Replace("\\","")).replace("\","_") + ".txt") -Encoding utf8
}

есть примеры с workflow, но у меня пока мозгов не хватает, помогите пож, мб есть у кого рабочий пример


Updated: 20 November 2019, 17:36:42

Симптоматично выглядит пример:

workflow work {
  foreach -parallel ($i in 1..3) {
    sleep 5
    "$i done"
  }
}

work

но возникает вопрос, есть ли какие-то ограничения?
как себя будут чувствовать переменные $result и $error?

3
Windows / powershell, Enter-PSSession
« : 06 июня 2018, 16:21:49 »
Приветствую
Есть скрипт который проверяет состояние рейда
$result = $null
#Проверяем наличие intel raid cli tool
$cli = test-path C:\CLI_Tools\x64\rstcli64.exe
#Проверяем наличие intel raid cli tool на конечном сервере
if ($cli -like $false){...}
#Собираем информацию о состоянии RAID
$clireport = C:\CLI_Tools\x64\rstcli64.exe -I
$status = $clireport | Select-String "State:*"
$GoodStatus = $status -like "*normal*"
$BadStatus = $status -notlike "*normal*"
#Логика проверки
if ($GoodStatus -like "*normal*"){$result =  "Raid - OK"}
if ($BadStatus -notlike $null){$result = “Raid - Error”}
if ($status -eq $null){$result = "Script Error"}
#Вывод результата проверки
$result
локально скрипт отрабатывает как задумано, но если подключатся через Enter-PSSession на некоторых серверах не отрабатывает строчка "$clireport = C:\CLI_Tools\x64\rstcli64.exe -I" и $result показывает "Script Erorr".
Начал копать почему на одних серверах работает, а на других нет, нашел разношерстность в версиях .net на серверах, выровнял думая что это решит проблему, но получилось так что на проблемных серверах строчка "$clireport = C:\CLI_Tools\x64\rstcli64.exe -I" отрабатывает первые пару минут после загрузки, а потом снова не работает, думаю что запускается некая служба которая препятствует запуску приложений через winrm, но не знаю куда копать, есть у кого идеи?


Updated: 07 June 2018, 15:20:14

решение проблемы:

Stop-Service IAStorDataMgrSvc -Force
$clireport = C:\CLI_Tools\x64\rstcli64.exe -I
Start-Service IAStorDataMgrSvc

4
Windows / Powershell. Изменение состава группы AD
« : 26 февраля 2018, 14:40:25 »
Всем привет,
как с помощью powershell удалить пользователя одного домена из группы другого?

$userlist="ФИО1
ФИО2
ФИО3" -split "\n"
$group
foreach ($user in $userlist){
    $user=$user.Trim()
$user=Get-AdUser -Filter "name -Like '$user*'" -server domain1
вот тут начниается проблема не могу подобрать нужные коммандлеы,
Get-AdUser -Identity $user.sid -Server domain1 | Remove-ADPrincipalGroupMembership -MemberOf $group -Verbose -Server domain2 #Ругается на:
Аргумент пуст, имеет значение NULL, либо элемент коллекции аргументов имеет значение NULL. Предоставьте коллекцию без значений NULL и повторите выполнение команды
}
разные вариации пробовал, но не нашел нужную. хелп

5
Windows / Пропадает курсор
« : 12 декабря 2017, 09:22:29 »
Привет тебе читатель, возникла проблема с отображением курсора на VDI.
У меня сейчас схема подключения домашний\не основной рабочий ПК подключается к основному рабочему ПК, с рабочего подключаюсь на VDI, курсор отображается, курсор пропадает только если его навести на "зоны" ввода и вывода информации в poweshell или notepad++, то есть если курсор с этих "зон" убрать, то он снова отображается. Вероятнее всего проблема где-то в конфиге VDI, т.к. такую проблему наблюдаю в целом при такой схеме подключения, куда копать?(

6
Windows / Adobe Flash
« : 27 октября 2016, 10:44:27 »
Кто-нибудь уже озадачился вопросом поиска оффлайн инсталера новой версии 23.0.0.205?

нашел такое:

For IE: https://fpdownload.adobe.com/pub/flashplayer/pdc/23.0.0.205/install_flash_player_ax.exe
For FF: https://fpdownload.adobe.com/pub/flashplayer/pdc/23.0.0.205/install_flash_player.exe

ищу *.msi, хелп

7
Windows / Скрипт powershell
« : 23 июня 2016, 19:42:29 »
Нужна помощь,
Прилетела задача: нужно установить приложение, для установки этого приложению нужен .net framework 4+.
Я написал пакет в SCCM с пошаговой установкой:
Off-Topic:
Ставим .net 4.5.2
Ставим MUI для .net 4.5.2
Ставим приложение
и столкнулся с проблемой, если запустить этот пакет на ПК где уже установлен .net, то в процессе установки требуется перезагрузка.
Решил попробовать написать скрипт который будет осуществлять проверку на наличие .net 4+,
если на ПК установлен .net 4+ то ставить ПО, если его нет, то ставить .net, mui и ПО.

Off-Topic:
$ErrorActionPreference = "silentlycontinue"
$ScriptDir = [IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path)
$OSVer = gwmi win32_operatingsystem | % {$_.version}
$OSArch = gwmi win32_operatingsystem | % {$_.OSArchitecture}
if ($OSver -like "6.1.*")
{
$Framework = gwmi win32_product | ? {$_.name -like "microsoft net framework 4*"} | % {$_.name} | select -first 1
if ($Framework -notlike "microsoft net framework 4*")
{start -wait "$ScriptDir\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" -argumentlist "/q /norestart"
start -wait "$ScriptDir\NDP452-KB2901907-x86-x64-AllOS-RUS.exe" -argumentlist "/q /norestart"
}
$Framework = gwmi win32_product | ? {$_.name -like "*net framework*"} | % {$_.name} | select -first 1
if ($Framework -like "microsoft net framework 4*")
{
Start -wait "$ScriptDir\AppMngr.msi" -argumentlist "/quiet /norestart"
if ($OSArch -like "32-bit")
{
Copy-item "$ScriptDir\SynAppManager.exe.config" -Destination "C:\Program Files\Syntellect\Application Manager1.23.0" -force
}
if($OSArch -like "64-bit")
{
Copy-item "$ScriptDir\SynAppManager.exe.config" -Destination "C:\Program Files (x86)\Syntellect\Application Manager1.23.0" -force
}
}
}
..
и получил жопу, в 8 строчке, а именно если .net не установлен на ПК то переменная $Framework пустая и не отдает значения true/false, и эта часть кода скипается. Если в этой строке заменить -notlike на -ne тогда перестает работать * и нужно указывать название .net целиком, это мне тоже не подходит.
Посоветуйте что-нибудь пож :)


Updated: 23 June 2016, 21:28:53

Кажется придумал:

$Framework = gwmi win32_product | ? {$_.name -like "microsoft net framework 4*"} | % {$_.name} | select -first 1
if ($Framework -like "microsoft net framework 4*")
{
$Framework = "1"
}
if ($Framework -ne "1")
{...}

8
Windows / Как подружить powershell с sccm12?
« : 04 апреля 2016, 17:49:41 »
Доброго времени суток.
Как запускать скрипты *.ps1 в sccm12 на ПК у пользователей?

лор:
Создал пакет в SCCM который содержит файлик *.ps1 и не могу его запустить.
Пытался использовать команду
Спойлер для скрыто:
powershell -ExecutionPolicy RemoteSigned -Command filepath\filename.ps1
в sccm тип состояния "Выполняется" описание "4" и так до победного, больше суток задание висело с таким статусом, дальше ждать не стал, остановил развертывание.

Чтобы убедится что проблем нет попробовал запустить скрипт удалено на тестовой тачке с помощью psexec, скрипт отработал проблем не возникло.
Спойлер для скрыто:
psexec \\hostname -s cmd /c "powershell -ExecutionPolicy RemoteSigned -Command filepath\filename.ps1"

Придумал костыль написал bat'ник который запускает скрип powershell'а локально и развернул с помощью sccm без проблем.
Спойлер для скрыто:
@echo off
taskkill /IM google* /T /F
powershell -command "Set-ExecutionPolicy remotesigned -force"
powershell "%~dp0Delete.ps1"
powershell -command "Set-ExecutionPolicy Restricted -force"
exit

Сам скрипт:
Спойлер для скрыто:
$OSVer = gwmi Win32_OperatingSystem | % {$_.Version}
$CheckDir = test-path 'C:\Program*\Google\Chrome\Application\*\Installer\setup.exe'
$CheckDir2 = test-path 'C:\Users\*\AppData\Local\Google\Chrome\User Data'
$ArgList = "-ArgumentList --uninstall --multi-install --chrome --system-level --verbose-logging --force-uninstall"
$ArgList2 = "-ArgumentList '/c net stop gpupdate & net stop gupdatem & sc delete gupdate & sc delete gupdatem'"
$SetupFilePath = ''
$Path = ''


if ($CheckDir) {
   $SetupFilePath = gci C:\Program*\Google\Chrome\Application\*\Installer\ -include setup.exe -Recurse | select -last 1
   $Path = $SetupFilePath | % {$_.FullName}
   start cmd $ArgList2
   sleep 30
   start $Path $ArgList
   sleep 60
   del C:\Program*\google\* -recurse -force
   if ($CheckDir2) {
      del C:\Users\*\AppData\Local\Google\* -exclude *Chrome* -recurse -force
      del C:\Users\*\AppData\Local\Google\Chrome\* -exclude *'User Data'* -recurse -force}
   else {
      del C:\'Documents and Settings'\*\'Local Settings'\'Application Data'\* -exclude *Chrome* -recurse -force
      del C:\'Documents and Settings'\*\'Local Settings'\'Application Data'\Chrome\* -exclude *'User Data'* -recurse -force}
}
else {
   if ($OSVer -like '5*') {
      $SetupFilePath = gci C:\'document and settings'\*\'Local Settings'\'Application Data'\Google\Chrome\Application\*\Installer\ -include setup.exe -Recurse  | select -last 1
      $Path = $SetupFilePath | % {$_.FullName}
      start cmd $ArgList2
      sleep 30
      start $Path $ArgList
      sleep 60
      del C:\'Documents and Settings'\*\'Local Settings'\'Application Data'\* -exclude *Chrome* -recurse -force
      del C:\'Documents and Settings'\*\'Local Settings'\'Application Data'\Chrome\* -exclude *'User Data'* -recurse -force}
   else {
      $SetupFilePath = gci C:\users\*\AppData\Local\Google\Chrome\Application\*\Installer\ -include setup.exe -Recurse | select -last 1
      $Path = $SetupFilePath | % {$_.FullName}
      start cmd $ArgList2
      sleep 30
      start $Path $ArgList
      sleep 60
      del C:\Users\*\AppData\Local\Google\* -exclude *Chrome* -recurse -force
      del C:\Users\*\AppData\Local\Google\Chrome\* -exclude *'User Data'* -recurse -force}
}
return

9
Windows / .bat
« : 22 апреля 2015, 10:43:45 »
Народ помогите написать код, сам я в этом не шарю.
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-"*"\Products\"a"" /f

*= sid ПК + sid пользователя.
a= переменная, заданная мной.

Можно ли написать код таким образом что-бы "*" игнорировалось?

10
Software / Удаление Radmin 3.*
« : 06 апреля 2015, 12:40:11 »
Поставили задачку, найти\написать батник для удаления Radmin Server 3.*, Radmin Viewer 3.*. Сложность (особенность) заключается в том что есть n'ое кол-во ПК где ПО удалено коряво и по этому батник должен не только удалять с помощью msiexec но и вычищать остатки корявого удаления.
Спойлер для скрыто:
@echo off

::Radmin Server 3.2(3.2)
MsiExec.exe /X{5AFF9A56-B7EB-486D-912C-FB89C857DFAB} /quiet
::Radmin Server 3.3
MsiExec.exe /X{3CC6CDEA-692E-45C4-8FF8-3AB0C198B785} /quiet
::Radmin Server 3.4(3.40)
MsiExec.exe /X{3A8C4C87-D460-488A-A0AA-8993F6D355B1} /quiet
::Radmin Server 3.4(3.41)
MsiExec.exe /X{076A5070-5A6B-4A84-A1B8-C25B705C942A} /quiet
:: Radmin Server 3.5
MsiExec.exe /X{1B25B709-0909-4C30-8E85-BF3823DF7555} /quiet


::Radmin Viewer 3.0(3.0)
MsiExec.exe /X{07D00E73-7F67-4008-A33C-80C7D53F1857} /quiet
::Radmin Viewer 3.3(3.30)
MsiExec.exe /X{EEAA3E5E-1296-45AD-A59E-5D63F604867D} /quiet
::Radmin Viewer 3.4(3.40)
MsiExec.exe /X{9B8A821E-1FCE-45D1-8BEC-738F5AAB20D8} /quiet
::Radmin Viewer 3.4(3.41)
MsiExec.exe /X{2517B7EA-6C03-4D86-A1B1-F3FE1C3BC03B} /quiet
::Radmin Viewer 3.5(3.50)
MsiExec.exe /X{199127DC-7BDB-41AB-825B-4229A86F8F0D} /quiet


sc stop rserver3
sc delete rserver3


rd /S /Q "%windir%\System32\rserver30"
rd /S /Q "%windir%\SysWOW64\rserver30"
rd /S /Q "%programdata%\Microsoft\Windows\Start Menu\Programs\Radmin Server 3"
rd /S /Q "%programdata%\Microsoft\Windows\Start Menu\Programs\Radmin Viewer 3"
rd /S /Q "%programfiles%\Radmin Viewer 3"
rd /S /Q "%programfiles(x86)%\Radmin Viewer 3"
rd /S /Q "%allusersprofile%\Start Menu\Programs\Radmin Viewer 3"


reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5AFF9A56-B7EB-486D-912C-FB89C857DFAB}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3CC6CDEA-692E-45C4-8FF8-3AB0C198B785}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3A8C4C87-D460-488A-A0AA-8993F6D355B1}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{076A5070-5A6B-4A84-A1B8-C25B705C942A}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{07D00E73-7F67-4008-A33C-80C7D53F1857}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{EEAA3E5E-1296-45AD-A59E-5D63F604867D}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9B8A821E-1FCE-45D1-8BEC-738F5AAB20D8}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{2517B7EA-6C03-4D86-A1B1-F3FE1C3BC03B}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{199127DC-7BDB-41AB-825B-4229A86F8F0D}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1B25B709-0909-4C30-8E85-BF3823DF7555}" /f


reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{5AFF9A56-B7EB-486D-912C-FB89C857DFAB}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{3CC6CDEA-692E-45C4-8FF8-3AB0C198B785}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{3A8C4C87-D460-488A-A0AA-8993F6D355B1}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{076A5070-5A6B-4A84-A1B8-C25B705C942A}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{07D00E73-7F67-4008-A33C-80C7D53F1857}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{EEAA3E5E-1296-45AD-A59E-5D63F604867D}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{9B8A821E-1FCE-45D1-8BEC-738F5AAB20D8}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2517B7EA-6C03-4D86-A1B1-F3FE1C3BC03B}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{199127DC-7BDB-41AB-825B-4229A86F8F0D}" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1B25B709-0909-4C30-8E85-BF3823DF7555}" /f


reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Features\AEDC6CC3E2964C54F88FA30B1C897B58" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Features\E128A8B9ECF11D54B8CE37F8A5BA028D" /f


reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\AEDC6CC3E2964C54F88FA30B1C897B58" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\E128A8B9ECF11D54B8CE37F8A5BA028D" /f


reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Radmin" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Radmin Viewer 3.0" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Radmin Server 3.0" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Radmin Viewer 3.0" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Radmin Server 3.0" /f


reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\raddrvv3" /f
Гляньте кто сталкивался с подобным, мб я что-то упустил.
Спойлер для скрыто:
Ищу одобрения у знающих, толк в пиве, людей  :trollface:

Страницы: [1]