Я пробовал этот код, и он работает нормально. Тем не менее, я заметил, что если вы назначаете имя пользователя и пароль для учетной записи, которая не существует, код продолжается без проблем. Кроме того, если вы назначаете недопустимую учетную запись и вызываете stop(), а затем запускаете(), пул IIS действительно останавливается и запускается! Кроме того, когда я иду в InetMgr и запускаю, останавливаю или переустанавливаю пул, он также останавливается и начинает без жалоб!
Я надеялся, что добавление недопустимой учетной записи вызовет ошибку, позволяющую мне проверить действительность учетной записи. Почему он ведет себя так?
$loginfile = "d:\temp\Logins.csv"
$csv = Import-Csv -path $loginfile
ForEach($line in $csv){
$poolid = "MyDomain\" + $line.Login;
Write-Host "Assigning User to Pool:" $poolid;
$testpool = get-item iis:\apppools\test;
$testpool.processModel.userName = $poolid;
$testpool.processModel.password = $line.Pwd;
$testpool.processModel.identityType = 3;
$testpool | Set-Item
$testpool.Stop();
$testpool.Start();
Write-Host "IIS Recycled";
$testpool = get-item iis:\apppools\test;
write-host "New Pool User: " $testpool.processModel.userName;
write-host "New Pool PWd: " $testpool.processModel.password;
}