Кажется, это извращение использования метода Item для извлечения таблицы из объекта SMO Tables.При первом извлечении таблицы кажется, что она возвращает таблицу с регистром, указанным в аргументе метода.Если я снова запускаю метод Item с другим регистром, он по-прежнему выводит регистр при первом вызове.
например:
1-й запуск:
$SmoServer.Databases.Item("MyDb").Tables.Item("TableName","dbo")
Выводит «TableName», как было указано в вышеприведенном параметре, даже если таблица на самом деле «TABLENAME».
2-й запуск:
$SmoServer.Databases.Item("MyDb").Tables.Item("TableNAME","dbo")
Будетпо-прежнему выводить "TableName", хотя я изменил корпус.Новый регистр «TableNAME» будет выводиться только в том случае, если я воссоздаю объект smoServer.
Интересное поведение.Я думаю, что вместо этого я буду использовать Where-Object.