Пытаетесь запустить скрипт, используя Exchange Online, соединение работает, Get-UnifiedGroup работает, но Set не существует? - PullRequest
0 голосов
/ 20 сентября 2018

Итак, я пытаюсь запустить скрипт, который скрывает определенные адреса электронной почты от адресной книги клиента Outlook.

$Username = "xxx"
$Password = "xxx" | ConvertTo-SecureString -AsPlainText -Force
$UserCredential = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$Password
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
Get-UnifiedGroup -ResultSize Unlimited | Where-Object {$_.SharePointSiteUrl} | select PrimarySmtpAddress, SharePointSiteUrl | Set-UnifiedGroup -HiddenFromAddressListsEnabled $true 
Remove-PSSession $Session

Это позволит скрыть все адреса электронной почты, к которым подключен URL-адрес ресурса, от создания сайтов групп.Как бы то ни было, Get-UnifiedGroup работает, но когда я делаю следующее:

Set-UnifiedGroup -HiddenFromAddressListsEnabled $true  

, он говорит следующее:

Set-UnifiedGroup: The term 'Set-UnifiedGroup' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.  

Я искал в Google, но не могу найти нужногоРешение моей проблемы ... Я также сделал следующие команды, но безрезультатно:

Set-ExecutionPolicy RemoteSigned  

и

Install-Module MSOnline  

Я не знаю, где искать, яотнюдь не привык к написанию Powershell ...

1 Ответ

0 голосов
/ 20 сентября 2018

Просмотр документации Microsoft "Set-UnifiedGroup -HiddenFromAddressListsEnabled" не принимает конвейерный ввод.

(https://docs.microsoft.com/en-us/powershell/module/exchange/users-and-groups/set-unifiedgroup?view=exchange-ps)

Я бы предложил попробовать:

$Username = "xxx"
$Password = "xxx" | ConvertTo-SecureString -AsPlainText -Force
$UserCredential = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$Password
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
$groups = Get-UnifiedGroup -ResultSize Unlimited | Where-Object {$_.SharePointSiteUrl} | select PrimarySmtpAddress, SharePointSiteUrl

foreach ($group in $groups){
    set-unifiedgroup -identity $group.PrimarySmtpAddress -HiddenFromAddressListsEnabled $true
}

Remove-PSSession $Session

В отношении «Set-UnifiedGroup: термин« Set-UnifiedGroup »не распознается какимя командлета "

Чтобы получить доступ к командлету, вам потребуется добавить соответствующую роль в центр администрирования Exchange.

Для внесения этих изменений вам понадобится быть администратором;

https://outlook.office365.com/ecp/?rfr=Admin_o365

Войдите и выберите «Разрешения» слева.

Я думаю, что «Управление организацией» должно предоставить вам нужный командлет.

Отредактируйте эту роль и добавьте пользователя, которого вы используете для вышеуказанного сценария powershell, в список участников.

Для вступления в силу обычно требуется 30-60 минут.

...