 |
|
ошибка при использовании значения в переменной
не могу разобраться в чем причина
если выполнять код, выходит ошибка. хотя переменная содержит правильное значение
Код:
$Users = Import-Csv -Path C:\1C Script\userTitle.csv -Delimiter ';'
foreach ($User in $Users) {
Get-ADUser -Filter {displayName -like $User.displayname} -Properties * | Set-ADUser -Title $User.titleGood
}
Цитата:
Get-ADUser : Не найдено свойство "displayname" в объекте типа "System.Management.Automation.PSCustomObject".
строка:3 знак:1
+ Get-ADUser -Filter {displayName -like $User.displayname} -Properties ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADUser], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADUs er
|
а если значение $User.displayname передавать через другую переменную, то все хорошо.
можно как то без отдельной переменной это использовать?
Код:
$Users = Import-Csv -Path C:\1C Script\userTitle.csv -Delimiter ';'
foreach ($User in $Users) {
$userdisplayname = $User.displayname
Get-ADUser -Filter {displayName -like $userdisplayname} -Properties * | Set-ADUser -Title $User.titleGood
}
|
Цитата:
Цитата Ageron
если значение $User.displayname передавать через другую переменную, то все хорошо »
|
не работает и молчит - это не "всё хорошо"
у вас в первой строке путь с пробелом не окавычен, поэтому в переменных мусор, а не данные
|
Цитата:
Цитата Busla
у вас в первой строке путь с пробелом не окавычен, поэтому в переменных мусор, а не данные »
|
во 2м коде, тоже без кавычек, но работает.
дело не в пути
выполнение на другой машине, выдает ошибку
Код:
$Users = Import-Csv -Path "C:\Distrib\userTitle.csv" -Delimiter ';'
foreach ($User in $Users) {
Get-ADUser -Filter {displayName -like $User.displayname} -Properties *
}
Цитата:
Get-ADUser : Не найдено свойство "displayname" в объекте типа "System.Management.Automation.PSCustomObject".
C:\Users\testuser17\Desktop\Безымянный1.ps1:3 знак:1
+ Get-ADUser -Filter {displayName -like $User.displayname} -Properties ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADUser], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADUs er
|
Цитата:
Цитата Busla
не работает и молчит - это не "всё хорошо" »
|
2й код работает
|
вообще, аргумент Filter - это строка, а фигурные скобки - упрощённый синтаксис
попробуйте так:
Код:
Get-ADUser -Filter "displayname -eq '$($user.displayname)'"
-like вы используете не по назначению
-Properties * вам тоже не нужен
|
Serguei Kouzmine |
31-12-2020 03:52 2944684 |
надо
Код:
$user = import-csv -header displayname,<и все другие колонки по порядку> -path 'file.csv'
write-host $user.displayname
в
|
Время: 22:55.
© OSzone.net 2001-