“powershell прекратил работать” над выходом PS после создания Пользователя IIS

Мог заблокировать исходящие запросы для портирования 25, пока Вы не разыскали его? например, на Linux с iptables

iptables-A ПРОИЗВОДЯТ-p tcp - ОТКЛОНЕНИЕ dport 25-j

1
задан 30 May 2014 в 17:43
2 ответа

Решенный - "Powershell остановил рабочую" ошибку после запуска или powershell или powershell_ise. Этой ошибки не произошло при запуске этих программ “Run Как Administrator”. Все 20 физических и виртуальных серверов в этом сетевом опыте эта проблема. Это, кажется, связано с Платформой управления Windows. Все серверы имеют Платформу управления Windows установленный V5.1.

Это разрешило ошибку во всех протестированных серверах:

Установка Платформа управления Windows, если это уже не установлено.

https://docs.microsoft.com/en-us/powershell/scripting/wmf/overview? view=powershell-6

, Если Вашему компьютеру уже установили Платформу управления Windows, устанавливает это обновление:

http://www.catalog.update.microsoft.com/Search.aspx?q=3191564

Когда-то установленный, перезапустите сервер.

голосуйте при нахождении этого полезным.

0
ответ дан 3 December 2019 в 18:46

Старый пост, но я столкнулся именно с этой проблемой и нуждался в помощи. Надеюсь, этот ответ поможет кому-то другому.

Это происходило со мной на Windows Server 2012 R2 с PowerShell 4. Мое решение не совсем верное решение, но оно дает мне то, что мне нужно. Я поместил эту операцию в фоновый «поток», чтобы основной процесс не был заблокирован всплывающим окном, указывающим на сбой PowerShell. Обратите внимание, что PowerShell вылетал у меня только тогда, когда я запускал сценарий, который делал это через cmd или Microsoft Release Management. При вызове скрипта прямо в окне PowerShell он не падал. Даже когда он падал, все, что я хотел, чтобы скрипт делал, выполнялось. Произошел сбой только после завершения скрипта.

Вот фрагмент моего кода

param($password)

$jobScript = {
Try
{
    <# Clear the $Error variable so errors do not build up when debugging this script #>
    $Error.Clear()

    $userName = "SomeUser"

    If([ADSI]::Exists("WinNT://./$userName"))
    {
        Add-Type -Path "C:\windows\system32\inetsrv\Microsoft.Web.Management.dll"
        Add-Type -Path "C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll"

        <# Set IIS Permissions on Default Web Site #>
        Try
        {
            $errorMessage = "Error setting IIS Permissions on Default Web Site for $userName"
            [Microsoft.Web.Management.Server.ManagementAuthorization]::Grant("$userName", "Default Web Site", $false)
            Write-Output "IIS Permissions set on Default Web Site for $userName"
        }
        Catch <# Tried catching the specific exception thrown, but was not working #>
        {
            Write-Output "IIS Permissions already set on Default Web Site for $userName"
        }
    }
    Else
    {
        $errorMessage = "The SomeUser user must be created prior to running this script"
        Write-Output $errorMessage
        Throw $errorMessage
    }
}
Catch
{
    # Signal failure to Microsoft Release Management
    Write-Error "$errorMessage - $Error"
}
}

$job = Start-Job $jobScript
Wait-Job $job
Receive-Job $job
3
ответ дан 3 December 2019 в 18:46

Теги

Похожие вопросы