После игры с базовыми планами Microsoft Azure MDM мне было запрещено использовать модуль Powershell для Exchange Online.
Я удалился один раз, и после нескольких перезагрузок и быстрой настройки все прошло хорошо. Но на этот раз я все еще не могу New-ExoPSSession, У меня больше нет идей по устранению этой проблемы.
Итак, я делаю:
Connect-ExchangeOnline -UserPrincipalName john.doe@thatnice.place
и получите:
New-ExoPSSession : Connecting to remote server outlook.office365.com failed with the
following error message : The client cannot connect to the destination specified in the
request. Verify that the service on the destination is running and is accepting requests.
Consult the logs and documentation for the WS-Management service running on the
destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the
following command on the destination to analyze and configure the WinRM service: "winrm
quickconfig". For more information, see the about_Remote_Troubleshooting Help topic.
At C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\0.3582.0\ExchangeOnl
ineManagement.psm1:401 char:30
Я удалил своего пользователя и компьютер из всех профилей Azure и могу использовать эти команды на другом компьютере. Итак, я начал менять локальные объекты групповой политики, чтобы убедиться, что все на месте:
PS C:\WINDOWS\system32> winrm get winrm/config
возвращает:
Config
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 30000
URLPrefix = wsman
AllowUnencrypted = true [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Digest = true [Source="GPO"]
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = true [Source="GPO"]
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts = * [Source="GPO"]
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 = true [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Kerberos = true
Negotiate = true
Certificate = false
CredSSP = true [Source="GPO"]
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = * [Source="GPO"]
IPv6Filter = * [Source="GPO"]
EnableCompatibilityHttpListener = true [Source="GPO"]
EnableCompatibilityHttpsListener = true [Source="GPO"]
CertificateThumbprint
AllowRemoteAccess = true [Source="GPO"]
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 7200000
MaxConcurrentUsers = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2147483647
MaxShellsPerUser = 2147483647
и
PS C:\WINDOWS\system32> winrm enumerate winrm/config/listener
возвращает:
Listener [Source="GPO"]
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.10.16.63, 127.0.0.1, 169.254.1.145, 169.254.5.162, 169.254.175.225, 169.254.235.174,<a lot of IPv6>
Listener [Source="Compatibility"]
Address = *
Transport = HTTP
Port = 80
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.10.16.63, 127.0.0.1, 169.254.1.145, 169.254.5.162, 169.254.175.225, 169.254.235.174, <a lot of IPv6>
Listener [Source="Compatibility"]
Address = *
Transport = HTTPS
Port = 443
Hostname = ooo-VASCO
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn = 10.10.16.63, 127.0.0.1, 169.254.1.145, 169.254.5.162, 169.254.175.225, 169.254.235.174, ::1, <a lot of IPv6>
в
PS C:\WINDOWS\system32> Get-Item WSMan:\localhost\Client\TrustedHosts
показывает:
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String TrustedHosts GPO *
Программа просмотра событий сохраняет это:
Идентификатор события 11: Вызов API WSMan :: Создание оболочки WSMan с ResourceUri: http://schemas.microsoft.com/powershell/Microsoft.Exchange и ShellId: бла-бла-бла
Событие с кодом 254: :: Передача активности
Идентификатор события 161: проверка подлинности пользователя :: клиент не может подключиться к месту назначения, указанному в запросе. Убедитесь, что служба в пункте назначения работает и принимает запросы. Просмотрите журналы и документацию для службы WS-Management, работающей в месте назначения, чаще всего IIS или WinRM. Если местом назначения является служба WinRM, выполните следующую команду в месте назначения, чтобы проанализировать и настроить службу WinRM: «winrm quickconfig».
даже сделал
C:\WINDOWS\system32>winrm invoke Restore winrm/Config
Restore_OUTPUT
(редактировать)
и да, id сделал:> winrm quickconfig
несколько раз во время устранения неполадок, но результат:
WinRM service is already running on this machine.
WinRM is already set up for remote management on this computer.
(другое редактирование)
С другим профилем на том же компьютере соединение не работает.
Используя того же пользователя на новом компьютере, соединение успешно.
(редактировать после тестирования на другом компьютере)
Мне удалось применить те же ограничительные политики MDM на другом устройстве и вернуть их обратно.
другое устройство подключается с базовой аутентификацией, но проблемное устройство по-прежнему не выполняет аутентификацию, даже если для него установлено значение true, как показано в текущей конфигурации:
PS C:\Windows\System32> winrm get winrm/config
Config
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Digest = false [Source="GPO"]
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts
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 [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Kerberos = true
Negotiate = true
Certificate = false
CredSSP = false
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *
EnableCompatibilityHttpListener = false
EnableCompatibilityHttpsListener = false
CertificateThumbprint
AllowRemoteAccess = true
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 7200000
MaxConcurrentUsers = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2147483647
MaxShellsPerUser = 2147483647
Может ли кто-нибудь поделиться с этим путем?
Изменить: просто перешел на PS7, и ошибка немного изменилась:
New-ExoPSSession: C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\0.3582.0\ExchangeOnlineManagement.psm1:401
Line |
401 | … PSSession = New-ExoPSSession -ExchangeEnvironmentName $ExchangeEnviro …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Could not load type 'System.Security.Cryptography.SHA256Cng' from assembly 'System.Core,
| Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'..
.
Во-первых, для включения базовой аутентификации в WinRM служба WinRM должна находиться в рабочем состоянии. Чтобы запустить службу WinRM, запустите командную строку от имени администратора и выполните следующую команду
Winrm quickconfig
Вы настраивали MFA? Если да, вы можете отключить его для тестирования. Подтвердите, можете ли вы подключиться к Exchange Online PowerShell с помощью обычных командлетов ниже: https://technet.microsoft.com/en-us/library/jj984289(v=exchg.160).aspx
Это может быть связано с тем, что служба winrm не запущена. Выполните командлет ниже в командной строке, чтобы запустить службу WinRM.
Winrm quickconfig
а затем попробуйте подключить Exchange Online.