none
[PoSh] Выключение компьютера и блокировка его в AD RRS feed

  • Вопрос

  • Интересует пример или подсказки как (какими функциями или методами) выключить PC и заблокировать его в AD.
    Про выключение компов гуглил по инету, но вот либо примеры не работают или версия PoSh не та (мне нужнен скрипт под 1.0 версию).
    Имена PC читаю через фильтр приведенный ниже, а вот как блокировать найденные компы пока не соображу.
    Кто что посоветует?
    $pAD = "domain.ru/Office/Computers"
    Filter Get-ComputerAD{
    	Get-QADComputer -SearchRoot $pAD | Select-Object Name | Sort-Object -property Name
    }

Ответы

  • Самый простой способ блокировки компьютера - использование DSMOD:

    dsmod computer computer_Dn -disabled yes

    Блокировка средствами PoSh:

    $Computer = [ADSI] "LDAP://CN=testcomp,CN=Computers,DC=domain,DC=ru"
    $UACFlag = $computer.psbase.Properties.userAccountControl.Value
    $computer.psbase.Properties.userAccountControl.Value = $UACFlag -bxor 2
    $computer.psbase.CommitChanges()


    Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.
    • Помечено в качестве ответа Gloft 22 мая 2009 г. 4:41
  • По поводу выключения компьютера:

    Можно так, используя Shutdown.exe:

    gc computers.txt | % {Invoke-Command {shutdown /t /m $_ /f }}

    А можно - так:

    (gwmi win32_operatingsystem  -computer computerName).Shutdown()


    Скрипты по "Disable" и "Shutdown" проверены - на PoSh отрабатывают нормально



    Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.
    • Помечено в качестве ответа Gloft 22 мая 2009 г. 4:41

Все ответы

  • Самый простой способ блокировки компьютера - использование DSMOD:

    dsmod computer computer_Dn -disabled yes

    Блокировка средствами PoSh:

    $Computer = [ADSI] "LDAP://CN=testcomp,CN=Computers,DC=domain,DC=ru"
    $UACFlag = $computer.psbase.Properties.userAccountControl.Value
    $computer.psbase.Properties.userAccountControl.Value = $UACFlag -bxor 2
    $computer.psbase.CommitChanges()


    Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.
    • Помечено в качестве ответа Gloft 22 мая 2009 г. 4:41
  • По поводу выключения компьютера:

    Можно так, используя Shutdown.exe:

    gc computers.txt | % {Invoke-Command {shutdown /t /m $_ /f }}

    А можно - так:

    (gwmi win32_operatingsystem  -computer computerName).Shutdown()


    Скрипты по "Disable" и "Shutdown" проверены - на PoSh отрабатывают нормально



    Если ответ Вам помог, нажмите на изображение зеленой галочки - «пометить как ответ». Если ответ был для Вас полезен, Вы можете пометить это сообщение как «полезное», нажав на ссылку "проголосовать за полезное сообщение" в правом верхнем углу сообщения.
    • Помечено в качестве ответа Gloft 22 мая 2009 г. 4:41
  • Почему нет прав?
    Исполнял от локального и доменного администратора.
    PS C:\> (gwmi win32_operatingsystem  -computer localhost).Shutdown()
    Исключение при вызове "Shutdown" : "Не имеет прав. "
    В строка:1 знак:59
    + (gwmi win32_operatingsystem  -computer localhost).Shutdown( <<<< )
    Get-ExecutionPolicy установен в Unrestricted.
  • нет доступа к WMI объектам.
    Посмотрите права доступа на компьютер.
    Посмотрите открыт доступ на порт 135, порт может быть закрыт фаером.
    • Предложено в качестве ответа Angel-Keeper 22 мая 2009 г. 5:34
  • Порт открыт, да и VBS скрипты с работой WMI работают корректно.