У меня есть сценарий PowerShell, который автоматически генерирует подпись для всех сотрудников, извлекая данные из AD и используя шаблон docx с переменными в нем и заменяя переменные строками, которые мы извлекаем из AD.
Наша структура AD автоматически добавляет некоторые дополнительные данные в конец адреса (123 Main Street Этаж: 01 Room: 01), но у большинства сотрудников нет этажа или Room #, поэтому мы хотели бы удалить это из вывода, который отправляется на подпись.
На том же токене наша структура AD теперь добавляет +1 к началу всех телефонных номеров (т. Е. +1 (XXX) XXX-XXXX), и мы хотели бы удалить +1 из всех подписей.
какие-либо предложения о том, как извлечь строку из AD, удалить нежелательный контент, который находится до / после строки, и вывести его при необходимости в подпись?
Я пробовал различные способы использования split, -split и replace и не может получить строковые выходные данные, только выходные данные, похожие на "System.Object []"
Это то, что у нас есть по адресу:
$ADStreetAddress = $ADUser.streetaddress -Replace "Floor.*"
If ($ADStreetAddress -ne '') {
$FindText = "StreetAddress"
$ReplaceText = $ADStreetAddress.ToString()
}
Else {
$FindText = "StreetAddress"
$ReplaceText = $DefaultAddress
}
После приведенного выше сценария, если я наберу $ ADStreetaddress, он выдаст мне нужный вывод, но когда я пытаюсь запустить скрипт, заменяющий текст, он заменяет текст на System.Output [] вместо фактической строки, которую мы пытаюсь вывести. Заранее всем спасибо за помощь.