Насколько я знаю, нет никакого способа передать альтернативные учетные данные с помощью акселератора типа ADSI. Двумя путями Вы могли попытаться двигаться, это в Вашем коде:
Invoke-Command
cmdlet, который позволяет Вам передавать в блоке сценария, чтобы выполнить, и чередовать учетные данные.Я никогда не пробовал ни один из них, таким образом, потребуется некоторый метод проб и ошибок.
Другая опция, которая могла быть более гибкой для Вас, не состоит в том, чтобы использовать акселератор типа ADSI. Существует 2 способа выполнить это.
DirectoryService
классы. Вот хорошая статья, которая обходит Вас посредством этого процесса. Это включает пример с помощью альтернативных учетных данных.Извините - это должно быть комментарием действительно, не ответом, но я хотел отправить рабочий код в случае, если он еще полезен для anoyone.
MattB был, барабанят в деньги! Получил следующую работу:
$thisComputer = <SERVICE TAG FROM BIOS>
$found = $false
$strFilter = "(&(objectCategory=Computer))"
$objDomain = New-Object System.DirectoryServices.DirectoryEntry "LDAP://mydomain.com", <USER>, <PASSWORD>
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
$colProplist = "name"
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
{$objItem = $objResult.Properties;
if ($objItem.name -eq $thisComputer) {
$found = $true
}
}
if ($found) { <DELETE MACHINE ACCOUNT > }
Теперь я доказал понятие, зашифрует пароль для создания этого немного более безопасным.
Спасибо за помощь!
Можно продолжить использовать акселератор [ADSI] и учетные данные передачи путем добавления следующей строки:
Получать-учетные-данные
Это должно быть одной из первых вещей в Вашем сценарии. В моей собственной среде я должен был записать сценарий для соединения с другим доменом. С тем другим доменом у меня были различные учетные данные, так при записи, что следующее позволило мне делать то, что я должен был сделать:
Импорт-csv получать-учетных-данных test.csv | foreach {$ou = [ADSI] "LDAP://ou=users, dc=test, dc=com" $newuser = $ou. Создайте ("Пользователь", "cn= $name" $newuser. SetInfo ()
Я понимаю, что вышеупомянутый код использовался для создания пользователя, но понятие должно сохраняться для любого другого действия