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

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


Сообщения - LostMy

Страницы: [1] 2
1
если сервер нашел, от клиента до сервера tcp/1688 проверь

2
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 лет, думаю от туда ноги растут
пока планирую почитать что-нибудь на тему сброса этого атрибута

3
Windows / Многопоточный скрипт powershell
« : 25 ноября 2019, 15:34:22 »
cls
$error.Clear()
Get-PSDrive | Remove-PSDrive
 
$Adm1 = Get-Credential "domain1\user1"
$Adm2 = Get-Credential "domain2\user2"
 
$ShareStringList = "server-05@domain2@E:\@E:\DiskO
server-05@domain2@E:\@E:\Shares
server-05@domain2@G:\@G:\share
server-06@domain2@E:\@E:\share2
server-06@domain2@E:\@E:\share1
server-06@domain2@E:\@E:\share
server1@domain2@E:\@E:\share
server2@domain1@E:\@E:\share
server3@domain1@E:\@E:\Share
server4@domain1@D:\@D:\Share
server5@domain1@E:\@E:\share
server6@domain1@E:\@E:\soft
server7@domain1@E:\@E:\Share
server8@domain1@E:\@E:\share
server8@domain1@G:\@G:\soft
server8@domain1@G:\@G:\doc
server9@domain1@F:\@F:\share" -split "\n" | % {$_.trim()} | ? {$_}
$ShareObjectList = @()
 
$LogPath = "D:\Аудит ACL"
if ((Test-Path $LogPath) -eq $false){
    New-Item -Path $LogPath -ItemType directory
}
#Наркомания
[int]$counter = "0"
$ABC = "H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
Y:
Z:"-split "\n" | % {$_.trim()} | ? {$_}
if ($ShareStringList.count -gt $abc.count){
    Write-Host "Список шар равен $($ShareStringList.count) он больше списка доступных букв $($abc.count), конец работы скрипта"
    exit
}
 
 
 
foreach ($ShareString in $ShareStringList){
    $ShareObjectList += New-Object psobject -Property @{
        ServerName = $ShareString.Split("@")[0]
        ServerDomain = $ShareString.Split("@")[1]
        ShareRoot = ("\\"+$($ShareString.Split("@")[0])+"\"+$($ShareString.Split("@")[3])).replace("$($ShareString.Split("@")[2])","")
        ShareName = ($($ShareString.Split("@")[0])+"_"+$($ShareString.Split("@")[3])).replace("$($ShareString.Split("@")[2])","")
        ShareLetter = $abc[$counter]
        LogPath = $($logpath+("\"+$($ShareString.Split("@")[0])+"_"+$($ShareString.Split("@")[3])+".txt").replace("$($ShareString.Split("@")[2])",""))
    }
    $counter = $counter + 1
}
 
foreach ($ShareObject in $ShareObjectList){
    Get-PSDrive  -PSProvider FileSystem | ? {$_.Root -like "$($ShareObject.ShareRoot)"} | Remove-PSDrive -ErrorAction SilentlyContinue -Force -Verbose
    if ($ShareObject.ServerDomain -eq "domain2"){New-PSDrive -Name $ShareObject.sharename -PSProvider FileSystem -Root $ShareObject.shareroot -Credential $Adm1}
    else {New-PSDrive -Name $($ShareObject.sharename) -PSProvider FileSystem -Root $($ShareObject.shareroot) -Scope global -Credential $Adm2}
    New-SmbMapping -localpath $ShareObject.ShareLetter -RemotePath $($ShareObject.ShareRoot)
}
 
workflow ScanShare {
param(
    [Parameter (Mandatory = $true)]
    [object[]]$ShareList
)
    foreach -parallel ($ShareObject in $ShareList){
        "$($ShareObject.ShareName) start job in $(Get-Date -Format hh:mm-dd.MM.yy)" | Out-File $ShareObject.LogPath -Encoding utf8 -Append
        "$($ShareObject.ShareName) start job in $(Get-Date -Format hh:mm-dd.MM.yy)"
        Get-ChildItem $ShareObject.ShareLetter -Recurse -Force  | ? {$_.PSIsContainer -eq $true} | ? {$(Get-Acl $_.fullname -Audit).AreAuditRulesProtected -eq $true} | % {$_.fullname} | Out-File $ShareObject.LogPath -Encoding utf8 -Append
        "$($ShareObject.ShareName) end job in $(Get-Date -Format hh:mm-dd.MM.yy)" | Out-File $ShareObject.LogPath -Encoding utf8 -Append
        "$($ShareObject.ShareName) end job in $(Get-Date -Format hh:mm-dd.MM.yy)"
    }
   
}
 
ScanShare -ShareList $ShareObjectList

Пока сделал так, умнее не придумал. каспер дает нагрузку по сети, ОЗУ уже 10гиг скушало. Есть у кого варианты по лучше?

4
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?

5
Windows / Помогите написать скрипт Powershell
« : 21 ноября 2018, 18:16:27 »
Если названия файла содержит номер телефона, то можно сделать так:
$date = get-date -Format dd.MM.yyyy
$filelist = gci D:\* -Include "*.txt"| ? {$_.LastWriteTime -ge (get-date).AddDays(-1)}
foreach ($file in $filelist){
    if((test-path "d:\!fortest\$date") -eq $false){
        New-Item "d:\!fortest\$date" -ItemType directory
    }
    if((test-path "d:\!fortest\$date\$($file.BaseName)") -eq $false){
        New-Item "d:\!fortest\$date\$($file.BaseName)" -ItemType directory
    }
    Copy-Item $file.fullname -Destination "d:\!fortest\$date\$($file.BaseName)"
}

6
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

7
Нашел решение:

$user=Get-ADUser user -server domain2
$group=Get-ADGroup "user"
Get-ADGroupMember $group
Remove-ADGroupMember -Identity $group -Members $user

8
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 и повторите выполнение команды
}
разные вариации пробовал, но не нашел нужную. хелп

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

10
Windows / DameWare и GPO для нее
« : 16 ноября 2017, 14:25:57 »
goro, Привет,
TCP 6129 дефолтный порт для подключения
TCP 6130 дефолтный порт для прокси
TCP 445 если захотите службу ставить со своего клиента

gp можно по разному сделать, например логон скрипт

Что не работает и какие ошибки вылетают?

11
Windows / Adobe Flash
« : 27 октября 2016, 13:38:01 »
Да, там не все так просто, ты пишешь им заявку и ждешь от них апрув, а сколько его ждать не кто не знает. Организация у меня под санкциями, беда-печаль

12
Windows / Adobe Flash
« : 27 октября 2016, 11:48:07 »
Ковыряюсь в логах, msi вроде не где не создается, как это бывало раньше.

Нашел тихий способ установки через *.exe
install_flash_player.exe -install -iv 8 -au 2, после установки экзешник самоуничтожается )

На сколько я понимаю с регистрацией там не все просто, вроде она платная, или будет платная

13
Windows / Adobe Flash
« : 27 октября 2016, 11:05:47 »
Если речь идет:
открыть его 7z и распаковать, то msi файла внутри нет

14
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, хелп

15
Windows / Не могу захватить права.
« : 08 июля 2016, 17:05:46 »
Попробуй не виндой посмотреть, с линукса например

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