Лучший отвечающий
Импорт фото к почтовому ящику пользователя

Вопрос
-
Где то короче я косячу.
вот скрипт.
[PS] C:\1>Import-CSV -Delimiter ";" addphoto1.csv | ForEach-Object {Import-RecipientDataProperty -Identity "$_.Identity"
-Picture -FileData ([Byte[]]$(Get-Content -Path "C:\pictures\$_.Path " -Encoding Byte -ReadCount 0))}вот CSV
Identity;Path
Белянина Галина Николаевна;Белянина Галина Николаевнаа вот что мне выдает PS
Get-Content : Cannot find path 'C:\pictures\@{Identity=Белянина Галина Николаевна; Path=Белянина Галина Николаевна}.Pat
h ' because it does not exist.
At line:1 char:153
+ Import-CSV -Delimiter ";" addphoto1.csv | ForEach-Object {Import-RecipientDataProperty -Identity "$_.Identity" -Pictu
re -FileData ([Byte[]]$(Get-Content <<<< -Path "C:\pictures\$_.Path " -Encoding Byte -ReadCount 0))}
+ CategoryInfo : ObjectNotFound: (C:\pictures\@{I...колаевна}.Path :String) [Get-Content], ItemNotFoundEx
ception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
Cannot bind argument to parameter 'FileData' because it is null.
+ CategoryInfo : InvalidData: (:) [Import-RecipientDataProperty], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Import-RecipientDataProperty
Вот в упор не понимаю где я ошибся.
- Изменен тип Vasilev VasilMicrosoft contingent staff 1 июня 2016 г. 9:57 давность
- Изменен тип mo3kvich412 7 июня 2016 г. 5:17 нашел ответ
25 мая 2016 г. 5:26
Ответы
-
разобрался
$PhotoPath = "C:\Photos\*.*"
ForEach ($PhotoFile in gci $PhotoPath)
{
$User = '' + $PhotoFile.Name.substring(0, $PhotoFile.Name.Length - 4) + ''
Import-RecipientDataProperty -Identity $User -Picture -FileData ([Byte[]]$(Get-Content -Path $PhotoFile.Fullname -Encoding Byte -ReadCount 0))
}
- Помечено в качестве ответа mo3kvich412 7 июня 2016 г. 5:18
7 июня 2016 г. 5:16
Все ответы
-
Изменил,
скрипт
[PS] C:\1>Import-CSV -Delimiter ";" addphoto.csv | ForEach-Object {Import-RecipientDataProperty -Identity "$_.Identity"
-Picture -FileData ([Byte[]]$(Get-Content -Path "$_.photo" -Encoding Byte -ReadCount 0))}CSV
Identity;photo
Белянина Галина Николаевна;"C:\pictures\Белянина Галина Николаевна.jpg"
Вывод
Get-Content : A parameter cannot be found that matches parameter name 'Encoding'.
At line:1 char:179
+ Import-CSV -Delimiter ";" addphoto.csv | ForEach-Object {Import-RecipientDataProperty -Identity "$_.Identity" -Pictur
e -FileData ([Byte[]]$(Get-Content -Path "$_.photo" -Encoding <<<< Byte -ReadCount 0))}
+ CategoryInfo : InvalidArgument: (:) [Get-Content], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.GetContentCommand
Cannot bind argument to parameter 'FileData' because it is null.
+ CategoryInfo : InvalidData: (:) [Import-RecipientDataProperty], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Import-RecipientDataPropertyПомогите люди добрые. скажите где я неправ
25 мая 2016 г. 8:38 -
разобрался
$PhotoPath = "C:\Photos\*.*"
ForEach ($PhotoFile in gci $PhotoPath)
{
$User = '' + $PhotoFile.Name.substring(0, $PhotoFile.Name.Length - 4) + ''
Import-RecipientDataProperty -Identity $User -Picture -FileData ([Byte[]]$(Get-Content -Path $PhotoFile.Fullname -Encoding Byte -ReadCount 0))
}
- Помечено в качестве ответа mo3kvich412 7 июня 2016 г. 5:18
7 июня 2016 г. 5:16 -
Круто. сам спросил - сам ответил.
Я в скриптах пока ещё плаваю, но мысль интересная. А можно чуть подробнее, что за чем делать, чтоб фоток всем прикрутить (вот моя бухгалтерия меня будет ненавидеть).
Заранее благодарен.
7 июня 2016 г. 5:20 -
У тебя есть пользователи, например полные имена в AD Иванов Иван Иванович и так далее. Заходишь на сервер Exchange, кладешь фото всех сотрудников C:\Photos\ в виде "полное имя пользователя.jpg" или "логин сотрудника.jpg". Выполняешь скрипт. Готово.7 июня 2016 г. 8:31