#powershell #dns #find
#powershell #dns #Найти
Вопрос:
мой скрипт пытается проверить, ввели ли вы компьютерное имя
$credObjects = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $userNames, $passwords
$Credential = Get-Credential -Credential $credObjects
$Searcher = New-Object -TypeName System.DirectoryServices.DirectorySearcher
$searcher = [adsisearcher]"(amp;(objectCategory=computer)(objectClass=computer)(name=$global:NewComputerName))"
$searcher.PropertiesToLoad.AddRange(('name'))
$searchResult = $searcher.FindAll()
if($searchResult.count -eq 1)
{
$Result = $true
}
else
{
$Result = $False
}
и они используют его в инструкции if для всплывающего сообщения
elseif ($Result -match 'true')
{
$msgBoxInput7 = [System.Windows.Forms.MessageBox]::Show('computer is exist', 'OK')
switch ($msgBoxInput7) {
'OK' {
$groupbox1.ResumeLayout()
$form1.ResumeLayout()
$form1.add_FormClosed($Form_Cleanup_FormClosed)
}
}
}
любая помощь, чтобы заставить его работать
Комментарии:
1. В чем проблема, с которой вы столкнулись?
2. Это не работает, результат всегда истинный или всегда ложный, есть ли какие-либо изменения в коде, чтобы заставить его работать
3. Какой результат? Пожалуйста, опишите, что вы ожидаете, и что происходит на самом деле — никто, кроме вас, не может видеть ваш экран 🙂
4. Хорошо, когда я ввожу имя компьютера, скрипт проверяет AD и, если существует, показывает окно сообщения, в котором говорится, что этот компьютер существует, если не существует, переименуйте компьютер на тот, который я ввел для ввода
5. И что происходит в данный момент? Говорит ли он «компьютер существует», когда компьютер не существует?
Ответ №1:
код работает нормально, если я запускаю скрипт в admin в powershell, но при запуске его от имени пользователя он работает не так, как ожидалось