У меня возникают проблемы при попытке выполнить методы класса WMI Win32_TSGatewayServer
с использованием Powershell с использованием роли шлюза удаленного рабочего стола на сервере 2012 R2.Powershell WMI: выдавать параметры передачи для методов класса Win32_TSGatewayServer
Моя цель - экспортировать/импортировать конфигурации шлюза удаленных рабочих столов из одной системы в другую. Win32_TSGatewayServer
, кажется, включает необходимые методы:
Я был в состоянии заставить его работать в определенной степени, но я не в состоянии передать параметры ExportType/ImportType к вызов метода.
То, что я в настоящее время использую это:
$source = Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TSGatewayServer -ComputerName rdg1
$destination = Get-WmiObject -Namespace root\CIMV2\TerminalServices -Class Win32_TSGatewayServer -ComputerName rdg2
$settings = $source.Export(0).XmlString
$destination.Import(0,$settings,$null)
Это, кажется, экспортировать/импортировать всю конфигурацию.
Как я могу вызвать экспорт/импорт с указанием параметра ImportType? Независимо от того, что я стараюсь, каждый раз, когда я не указать параметр другое, чтобы 0
он не
PS C:\Windows\system32> $source.Export(1)
Exception calling "Export" : ""
At line:1 char:1
+ $source.Export(1)
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
Update 1
Использование Server 2012 R2. Цель состоит в том, чтобы полностью имитировать поведение функции экспорта/импорта в графическом интерфейсе.
Ответ JamesQMurphy проливает больше света на то, как растровое изображение должно быть обработано. Как кратко упоминалось в комментарии, я смог использовать Export() с некоторыми параметрами (например, 0, 32 и 33), но другие, которые должны работать, потерпят неудачу (например, 1, 3 и 5).
Это привело меня к следующей идее:
for ($i = 0; $i -le 128; $i++)
{
$source.Export($i).XmlString | Out-File C:\temp\$i.txt
}
Какой будет генерировать файл для каждого вызова удалось, как он будет бросать исключения иначе. Из результатов стало ясно, что 65 из 128 параметров генерируются действительный экспорт:
- 32-63
- 96-127
Тогда я хэшированный все файлы, чтобы увидеть если их содержимое отличается, и единственными файлами, имеющими один и тот же хеш, являются файлы с Export (0) и Export (127).
Так что растровые изображения, по-видимому, работают хотя бы частично, но с другим сопоставлением (?), Как описано в статье MSDN (с тех пор как я разместил вопрос и теперь отображает значения int вместо битовой таблицы)
Спасибо за ваш ответ. В моем случае $ source.GetType() возвращает фактический объект, а не массив, поэтому методы можно вызвать правильно. Однако я не понимаю, что такое битовая маска. Экспорт (0), Экспорт (32) и Экспорт (33) возвращают разные значения. Экспорт (1), 2, 5 возвращает исключение. – leepfrog