Я пытаюсь создать скрипт, который запускает некоторую команду cmd для установки SPN: что-то для каждого элемента в моем списке запустит setpn -s (имя spn) domain \ service account но у меня трудное время запуска командной строки, а также я должен быть в состоянии изменить (имя SPN, как я иду, хотя в списке)SetSPN с помощью powershell для запуска команд CMD
$List = Get-Content C:\Users\MyComputer\Desktop\Lists.txt
foreach($PN in $List){
$Semper_fi = @'
cmd.exe /C setspn –S "some SPN name\corp.com:1000" corporatedomain\ServiceAccount1
'@
Invoke-Expression -Command:$Semper_fi
}
-S предполагают, чтобы посмотреть в AD и если имя Безразлично 't exist добавляет или иным образом переходит к следующему элементу и так далее. , но он дает мне ошибку: + CategoryInfo: NotSpecified: (Неизвестно PARAMET ... Эк ваш usage.:String) [], RemoteException + FullyQualifiedErrorId: NativeCommandError
так хотелось бы это для каждого имени в список: (проверьте, если не в объявлении добавить это) (это SPN) Setspn -s serverSQL1/pop1.company.com: 2500
(под этой учетной записью службы) домена \ Service100
и продолжайте идти до конца.
Фактическая команда, которую я могу запустить в cmd: setpn -A "MySQL/PM1.corp.com: 2643" domain \ serviceacccount. -A - это переключатель, который может быть -S и -D и s включен. Мне нужно запустить эту команду с помощью powershell. – AlwaysWrong
Зачем использовать cmd.exe? Просто запустите setspn.exe. [В этой статье] (http://windowsitpro.com/powershell/running-executables-powershell) есть утилита под названием «showargs.exe», которая позволит вам увидеть конструкцию PowerShell в командной строке и некоторые советы, которые помогут вам создать setpn .exe правильно в PowerShell. –