Я пытаюсь запустить сценарий, который удаленно устанавливает программу для пользователя в моем домене. Я могу нормально запустить сценарий на моем собственном компьютере, но когда я запускаю сценарий для другого компьютера в домене, я получаю ошибку
Не удалось подключиться к удаленному серверу (имя компьютера), появляется следующее сообщение об ошибке: WinRM не может завершить операцию. Убедитесь, что указанное имя компьютера допустимо, что компьютер доступен по сети и что исключение брандмауэра для службы WinRM включено и разрешает доступ с этого компьютера. По умолчанию исключение брандмауэра WinRM для общедоступных профилей ограничивает доступ к удаленным компьютерам в той же локальной подсети. Для получения дополнительной информации см. Раздел справки about_Remote_Troubleshooting
Я настроил WinRM и WinRM GPO, я отключил брандмауэр, но все равно получаю ту же ошибку. Я чувствую, что исчерпал все возможности, поэтому хотел бы получить помощь.
Вещи, которые я пробовал:
WSManFault
Message = WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet.
Error number: -2144108250 0x80338126
WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet.
Config
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts = ()ComputerName)
Service
RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
MaxConcurrentOperations = 4294967295
MaxConcurrentOperationsPerUser = 1500
EnumerationTimeoutms = 240000
MaxConnections = 300
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = false
Auth
Basic = false
Kerberos = true
Negotiate = true
Certificate = false
CredSSP = false
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = * [Source="GPO"]
IPv6Filter = * [Source="GPO"]
EnableCompatibilityHttpListener = false
EnableCompatibilityHttpsListener = false
CertificateThumbprint
AllowRemoteAccess = true [Source="GPO"]
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 7200000
MaxConcurrentUsers = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2147483647
MaxShellsPerUser = 2147483647
Win32_Service
AcceptPause = false
AcceptStop = true
Caption = Windows Remote Management (WS-Management)
CheckPoint = 0
CreationClassName = Win32_Service
DelayedAutoStart = null
Description = Windows Remote Management (WinRM) service implements the WS-Management protocol for remote management. WS-Management is a standard web services protocol used for remote software and hardware management. The WinRM service listens on the network for WS-Management requests and processes them. The WinRM Service needs to be configured with a listener using winrm.cmd command line tool or through Group Policy in order for it to listen over the network. The WinRM service provides access to WMI data and enables event collection. Event collection and subscription to events require that the service is running. WinRM messages use HTTP and HTTPS as transports. The WinRM service does not depend on IIS but is preconfigured to share a port with IIS on the same machine. The WinRM service reserves the /wsman URL prefix. To prevent conflicts with IIS, administrators should ensure that any websites hosted on IIS do not use the /wsman URL prefix.
DesktopInteract = false
DisplayName = Windows Remote Management (WS-Management)
ErrorControl = Normal
ExitCode = 0
InstallDate = null
Name = WinRM
PathName = C:\WINDOWS\System32\svchost.exe -k NetworkService -p
ProcessId = 15760
ServiceSpecificExitCode = 0
ServiceType = Share Process
Started = true
StartMode = Auto
StartName = NT AUTHORITY\NetworkService
State = Running
Status = OK
SystemCreationClassName = Win32_ComputerSystem
SystemName = (ComputerName)
TagId = 0
WaitHint = 0
На данный момент я не могу вспомнить каждую мелочь, которую я пробовал, но если вы что-то предложите, я могу подтвердить, что пробовал.
Я следил за многими предложениями в Интернете, включая Удаленный PowerShell, сбои WinRM: WinRM не может завершить операцию
но все равно .. ничего.
Если вы не настроили список разрешенных сетевых адресов / доверенных хостов в групповой политике / локальной политике, это может быть одной из причин.
Административные шаблоны> Компоненты Windows> Удаленное управление Windows> Служба WinRM
Разрешить удаленное управление сервером через WinRM
Этот параметр политики позволяет управлять автоматическим прослушиванием службой удаленного управления Windows (WinRM) в сети запросов на транспортном протоколе HTTP через порт HTTP по умолчанию.
Если вы включите этот параметр политики, служба WinRM автоматически прослушивает в сети запросы транспорта HTTP через порт HTTP по умолчанию.
Чтобы разрешить службе WinRM получать запросы по сети, настройте параметр политики брандмауэра Windows с исключениями для порта 5985 (порт по умолчанию для HTTP).
Если вы отключите или не настроите этот параметр политики, служба WinRM не будет отвечать на запросы с удаленного компьютера, независимо от того, настроены ли прослушиватели WinRM или нет.
Служба прослушивает адреса, указанные фильтрами IPv4 и IPv6. Фильтр IPv4 указывает один или несколько диапазонов адресов IPv4, а фильтр IPv6 указывает один или несколько диапазонов адресов IPv6. Если указано, служба перечисляет доступные IP-адреса на компьютере и использует только адреса, попадающие в один из диапазонов фильтрации.
Вы должны использовать звездочку (*), чтобы указать, что служба прослушивает все доступные IP-адреса на компьютере. Когда используется *, другие диапазоны в фильтре игнорируются. Если фильтр оставлен пустым, служба не прослушивает адреса.
Например, если вы хотите, чтобы служба прослушивала только адреса IPv4, оставьте фильтр IPv6 пустым.
Диапазоны указываются с использованием синтаксиса IP1-IP2. Несколько диапазонов разделяются знаком «,» (запятая) в качестве разделителя.
Пример фильтров IPv4: \ n2.0.0.1-2.0.0.20, 24.0.0.1-24.0.0.22 Пример фильтров IPv6: \ n3FFE: FFFF: 7654: FEDA: 1245: BA98: 0000: 0000-3FFE: FFFF: 7654: FEDA : 1245: BA98: 3210: 4562
Административные шаблоны> Компоненты Windows> Удаленное управление Windows> Клиент WinRM
Надежные хосты
Этот параметр политики позволяет указать, использует ли клиент удаленного управления Windows (WinRM) список, указанный в списке надежных узлов, для определения того, является ли целевой узел надежным объектом.
Если этот параметр политики включен, клиент WinRM использует список, указанный в списке надежных узлов, для определения того, является ли целевой узел надежным объектом. Клиент WinRM использует этот список, когда ни HTTPS, ни Kerberos не используются для проверки подлинности хоста.
Если этот параметр политики отключен или не настроен, а клиент WinRM должен использовать список доверенных узлов, необходимо настроить список доверенных узлов локально на каждом компьютере.
Поскольку вы можете делать такие вещи, как создание папки, но не можете установить программу, вам может потребоваться изменить политику выполнения.
Set-ExecutionPolicy RemoteSigned -force