Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] IF. пустой вывод опрашиваемой команды

Ответить
Настройки темы
CMD/BAT - [решено] IF. пустой вывод опрашиваемой команды

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Elven
Дата: 10-10-2013
Тему назвал коряво, если господа модераторы придумают как ее лучше назвать прошу переименовать.

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

@echo off
for /F %%a in ('dsquery user -inactive 150 -limit 0 -o samid') do (
dsquery user -samid %%~a -disabled
[условие проверяющие является ли вывод предыдущей команды пустым]
echo %%~a is zombie!!! >> d:\zombie.log
)

Если кто предложит вариант кошернее - буду рад, может я тут изобретательством виласапеда занимаюсь .
c errorlevel экспериментировал как только не. в эту сторону походу копать бесполезно.

Отправлено: 19:12, 08-10-2013

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Решил сам, правда с костылем.
Код: Выделить весь код
@echo off
for /F %%a in ('dsquery user -inactive 12 -limit 0 -o samid') do (
dsquery user -samid %%~a -disabled | find "CN"
if errorlevel 1 (
echo %%~a >> d:\zombie.log
)
)
после вывода который должен быть пустым добавляем "FIND" и тут уже используем ERRORLEVEL (сразу после dsquery он в любом случае возвращал "0")

Последний раз редактировалось Elven, 15-10-2013 в 15:18.


Отправлено: 11:53, 15-10-2013 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ищете «мёртвые души»?
Цитата Elven:
Решил проверить нету ли каких не отключенных пользователей в домене и естественно не хочу перекапывать их всех руками. »
Оснастка «ADUC», \Действие\Найти…; Найти: Особый поиск, Вкладка «Дополнительно», поле «Введите запрос LDAP:»:
Код: Выделить весь код
(&(samAccountType=805306368)(lastLogon<=129355919658983718)(!userAccountControl:1.2.840.113556.1.4.803:=2))


На PowerShell:
читать дальше »
Код: Выделить весь код
$iInactiveDateFrom = ((Get-Date).AddDays(-150 * 7)).ToFileTimeUtc()

$oConnection = New-Object -ComObject "ADODB.Connection"
$oConnection.Provider = "ADSDSOObject"
$oConnection.Open("ADSearch")
	
$sDefaultNamingContext = ([System.DirectoryServices.DirectoryEntry]"LDAP://rootDSE").defaultNamingContext

$oRecordset = $oConnection.Execute( `
    "<LDAP://$sDefaultNamingContext>;" + `
    "(&(samAccountType=805306368)(lastLogon<=$iInactiveDateFrom)(!userAccountControl:1.2.840.113556.1.4.803:=2));" + `
    "samAccountName;subtree" `
)

while(-not $oRecordset.EOF) {
    Write-Host $oRecordset.Fields.Item("samAccountName").Value
    $oRecordset.MoveNext()
}

$oRecordset.Close()
$oConnection.Close()

Отправлено: 16:02, 15-10-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] IF. пустой вывод опрашиваемой команды

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - вывод команды dmesg ничего не выдает, а dmesg.boot пустой emlen Общий по FreeBSD 8 12-07-2011 15:42
Ошибка - Команды мыши... А_н_д_р_ей Microsoft Windows 2000/XP 8 11-03-2009 14:26
Debian/Ubuntu - Запрос команды OruoN Общий по Linux 7 21-10-2008 19:13
вывод команды ps ax nix_lamer Общий по Linux 1 26-02-2007 08:13
telnet - Команды alexandri Хочу все знать 3 17-08-2006 16:33




 
Переход