Скрипт Powershell как шаг в SQL-задании, выдающий ошибку - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь создать задание sql, которое синхронизирует пользователей из файла csv с группой объявлений.Мой сценарий powershell является одним из этапов этой работы.Проблема заключается в том, что мой сценарий должен работать на другом сервере, на котором установлен Active Directory, но я продолжаю получать сообщение об ошибке при выполнении этого шага.

Мой сценарий выглядит следующим образом:

invoke-Command -Session Server-Name
Import-Module activedirectory
$ADUsers = Import-csv \\Server-Name\folder\file.csv
foreach ($User in $ADUsers)
{  
    $Username = $User.sAMAccountName
   $group=$user.adgroup 

if (Get-ADUser -F {SamAccountName -eq $Username})
{
 foreach($group in $groups){Add-ADGroupMember -identity $group -Members $Username}

    Write-Output "$username has beeen added to group $group"

  }
}

Ошибка iЯ получаю

Выполнено от имени пользователя.Шаг задания получил ошибку в строке 2 скрипта PowerShell.Соответствующая строка - «Invoke-Command -Session Server-Name».Исправьте сценарий и перенесите работу.Информация об ошибке, возвращаемая PowerShell: «Невозможно связать параметр« Сеанс ».Невозможно преобразовать значение «Server-Name» типа «System.String» в тип «System.Management.Automation.Runspaces.PSSession».».Код выхода процесса -1.Шаг завершился неудачей.

имя сервера находится между '-', поэтому необходимо знать, является ли это причиной проблемы, или я использую неправильный способ запуска этого сценария на другом сервере из задания sql

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 26 апреля 2018

Jaspreet Я не эксперт по PowerShell, но похоже, что вы передаете неправильные параметры. Просто, ссылаясь на документы Microsoft, вы должны передать имя компьютера, а не -Session Попробуйте запустить эту строку кода при запуске invoke-Command -Имя_компьютера имя_сервераДля получения дополнительной информации см. Документы Microsoft https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/invoke-command?view=powershell-6#examples

.
...