none
Get-ADUser : Имя "Get-ADUser" не распознано как имя командлета

    Вопрос

  • Здравствуйте! Написал скрипт переноса файлов из профиля по списку расширений в домашнюю папку. При запуске скрипта на компьютерах пользователей получаю ошибку:

    Get-ADUser : Имя "Get-ADUser" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.

    Соответственно и загружать модуль тоже не получается. подскажите пожалуйста как быть

    Import-Module ActiveDirectory
    $user = $env:UserName
    $homedrive = ((Get-ADUser $user -Properties homedirectory).homedirectory )
    $destination = "$homedrive\Deleted"
    $destination1 = "$Env:homedrive\Deleted"
    $source = $Env:userprofile
    if ((Get-ADUser $user -Properties homedrive).homedrive -like "*:" )
    {
    Remove-Item -Recurse -Force -Path $destination1
    Start-Sleep -s 1
    New-Item -Path $destination -ItemType Directory
    $include = @('*.xlsx','*.xls','*.rar','*.doc','*.docx','*.pdf','*.zip','*.cdr','*.docm','*.odt','*.odo','*.odm','*.ort','*.rtf','*.rtx','*.xlsm','*.odf','*.odp','*.ods','*.ppt','*.vsd','*.vsdx','*.dwg','*.dxf')
    Get-ChildItem $source -Recurse -Include $include | where-object {$_.length -lt 104857600} | Move-Item -Destination $destination -verbose -force
    }
    Else
    {
    exit 0
    }


    20 ноября 2018 г. 10:40

Ответы

Все ответы

  • При запуске скрипта на компьютерах пользователей получаю ошибку:
    подскажите пожалуйста как быть

    Установить RSAT на каждом пользовательском компьютере....

    Die Meinung, die von mir geäußert wurde, ist keine offizielle Position von Microsoft.

    20 ноября 2018 г. 10:44
  • не вариант
    20 ноября 2018 г. 10:50
  • А разве нельзя отдельно в Powershell библиотеки доставить?
    20 ноября 2018 г. 10:59
  • $hd = ([adsisearcher]"(samaccountname=$env:username)").FindOne().Properties["homedirectory"][0]

    • Предложено в качестве ответа Vector BCOModerator 20 ноября 2018 г. 11:05
    • Помечено в качестве ответа SartuS 20 ноября 2018 г. 12:57
    20 ноября 2018 г. 10:59
    Отвечающий
  • Спасибо! Работает

    Вот скрипт если кому пригодится

    Он проверяет назначен ли пользователю домашний диск и если да то переносит все файлы размером менее 100мб в папку Deleted

    Предназначен для удаления рабочих файлов при выходе из системы

    $user = $env:UserName
    $homedir = ([adsisearcher]"(samaccountname=$user)").FindOne().Properties["homedirectory"][0]
    $homedrive = ([adsisearcher]"(samaccountname=$user)").FindOne().Properties["homedrive"][0]
    $destination = "$homedir\Deleted"
    $destination1 = "$Env:homedrive\Deleted"
    $source = $Env:userprofile
    if ($homedrive)
    {
    Remove-Item -Recurse -Force -Path $destination
    Start-Sleep -s 1
    New-Item -Path $destination -ItemType Directory
    $include = @('*.xlsx','*.xls','*.rar','*.doc','*.docx','*.pdf','*.zip','*.cdr','*.docm','*.odt','*.odo','*.odm','*.ort','*.rtf','*.rtx','*.xlsm','*.odf','*.odp','*.ods','*.ppt','*.vsd','*.vsdx','*.dwg','*.dxf')
    Get-ChildItem $source -Recurse -Include $include | where-object {$_.length -lt 104857600} | Move-Item -Destination $destination -verbose -force
    }
    Else
    {
    Exit 0
    }

    20 ноября 2018 г. 12:57