Попробуйте переместить пользователей из выбора в CSV Ошибка «Move-CsUser: Невозможно связать параметр« Идентичность ». Невозможно преобразовать значение ...» - PullRequest
0 голосов
/ 24 сентября 2018

Я создал сценарий Power Shell для использования в S4B ... но я застрял с проблемой, может быть, кто-то может помочь мне пройти через эту проблему.

Полученное сообщение об ошибке следующее:

Move-CsUser : Cannot bind parameter 'Identity'. Cannot convert value   {SamAccountName=Account01B}" to type
"Microsoft.Rtc.Management.AD.UserIdParameter". Error: "Cannot convert
the "@{SamAccountName=ACCOUNT01B}" value of type "Se
lected.System.Management.Automation.PSCustomObject" to type
"Microsoft.Rtc.Management.AD.UserIdParameter"." At line:25 char:27
+     Move-CsUser -Identity $Fullname -Target pool101.test.se -Confirm:false
+                           ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Move-CsUser],  ParameterBindingException
    + FullyQualifiedErrorId : nnotConvertArgumentNoMessage,Microsoft.Rtc.Management.AD.Cmdlets.MoveOcsUserCmdlet

Мало того, похоже, что FOREACH не зацикливается ...

Скрипт выглядит так:

# Exporting out Data to CSV file
$CurrentDate = Get-Date
$CurrentDate = $CurrentDate.ToString('yyyy-MM-dd_hh-mm-ss')
Get-CsUser | Where-Object {$_.RegistrarPool -match "Pool101.test.se" -and
$_.ConferencingPolicy -notmatch "AllowInMeetings"} | Select-Object
SamAccountName | Export-Csv -Path "C:\Temp
\Change_Call_Policy_access_Users_$CurrentDate.csv" -NoTypeInformation

#Variables
File = Get-Content "C:\Temp\Change_Call_Policy_access_Users_$CurrentDate.csv"
Log = New-Item -ItemType File -Path "C:\Temp\changed_users_log.txt" -Force

#Import csv
usercsv = Import-Csv -path $file -Delimiter ','
Check if user file is empty.
if ($Usercsv -eq $null)
{
    Add-Content $Log -Value "$($CurrentDate) No Users Found in the Input File      
    change_Call_Policy_access_Users_$CurrentDate.csv"
    exit 0
}

Проверка после SamAccountName, который заканчиваетсяна '[n-z5-9]$' в UserCSV

ForEach ($user in $usercsv) 
{
    $Fullname = $usercsv | Where-Object {$_.SamAccountName -match '[n-z5-9]$'} |  
    Select-Object SamAccountName -ErrorAction SilentlyContinue

    Move-CsUser -Identity $Fullname -Target pool02.test.se -Confirm:false
    Add-Content -Path $Log -Value "$($FullName) not enabled.  $(Get-
    Date)$($error[0])"

    Write-Host "Change users from CSV completed!"
    Write-Host ""
    Write-Host ""
    Write-Host ""
}
Move-Item -Path $File -Destination C:\Temp\Archive
update-csuserdatabase -verbose
sleep -seconds 30

1 Ответ

0 голосов
/ 24 сентября 2018

Я решил это, ему не хватало $ ...

// Nils

...