C # Exchange PowerShell указанный приведение недействительно - PullRequest
0 голосов
/ 17 марта 2010

Я получаю указанную ошибку приведения при попытке вернуть целое число, пример кода ниже:

results = pipeline.Invoke();

foreach (PSObject ps in results)
{
int diff = 0;
Int32 exchcount = Convert.ToInt32(ps.Members["itemcount"].Value);
diff = itemcount - exchcount;
}

Я пытаюсь выяснить, какой тип данных, если для itemcount в Get-Mailboxstatistics, ноя не могу найти информацию, я предполагаю, что это Int, я пробовал строку, но это тоже не работает.любые идеи, пожалуйста, дайте мне знать!

Спасибо Стив

Ответы [ 3 ]

0 голосов
/ 17 марта 2010

Ошибка, которую вы получаете, находится в цикле foreach. Переменная ps объявлена ​​с типом PSObject, в то время как results может быть чем-то другим (массив объектов, которые не имеют правильный тип) Посмотрите на тип переменной results.

0 голосов
/ 17 марта 2010

Я не думаю, что это оператор foreach, если я использую значение строкового типа, такое как значение cmd 'DisplayName', оно работает .. только для типа value / int это, похоже, не работает. Я попробую проверить точку останова, чтобы увидеть тип значения.

Спасибо! ST

0 голосов
/ 17 марта 2010

Вы можете поместить точку останова в цикл foreach и посмотреть, какой тип ps.Members["itemcount"].Value (например, вы можете сделать ps.Members["itemcount"].Value.GetType() в окне Immidiate).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...