Как создать несколько учетных записей пользователей в Office 365 с помощью PowerShell?

Чтобы создать несколько учетных записей пользователей в Office 365 с помощью PowerShell, сделайте следующее.

  1. Откройте приложение «Блокнот» или любой другой редактор и добавьте сведения о пользователе.
  2. Сохраните файл с расширением. csv.
  3. Откройте окно командной строки PowerShell и выполните команду:
Import-Csv -Path "" | foreach {New-MsolUser -DisplayName
   $_.DisplayName -FirstName $_.FirstName -LastName
   $_.LastName -UserPrincipalName $_.UserPrincipalName
    -LicenseAssignment $_.AccountSkuId}

Как добавить заявление об отказе ко всем исходящим сообщениям электронной почты в Office 365 с помощью PowerShell?

Заявления об отказе представляют собой юридическое предупреждение, добавляемое ко всем исходящим электронным сообщениям. С помощью PowerShell добавить заявление об отказе ко всем сообщениям электронной почты, отправляемым за пределы компании, можно так.

1. Откройте сессию PowerShell с более высоким уровнем привилегий и выполните следующую команду, чтобы создать сеанс с Exchange Online:

$session = New-PSSession -ConfigurationName Microsoft.Exchange
   -ConnectionUri "https://outlook.office365.com/powershell-liveid/"
   -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $Session

2. После того как вы создали сеанс с Exchange Online, создайте заявление об отказе:

New-TransportRule -Name ExternalDisclaimer -SentToScope
   'NotInOrganization' -ApplyHtmlDisclaimerText "

Disclaimer Title

This is the disclaimer text.

Contoso
   logo"

Как настроить дисковое пространство OneDrive для бизнеса с помощью PowerShell?

Загрузите и установите командную консоль SharePoint Online (https://www.microsoft.com/en-pk/download/details.aspx? id=35588) и выполните следующие инструкции.

1. Откройте PowerShell с повышенными привилегиями и выполните приведенную ниже команду для подключения к SharePoint Online. Замените соответствующие значения своими. В ответ на запрос введите пароль и нажмите клавишу ввода Enter.

Connect-SPOService -Url https://<имя клиента>
   -admin.sharepoint.com -Credential <учетные данные,
   например admin@mytenant.onmicrosoft.com>

2. После успешного подключения введите следующую команду, чтобы настроить дисковое пространство OneDrive для бизнеса по умолчанию. Укажите значение <квота> в мегабайтах, например 5242880 для 5 Тбайт:

Set-SPOTenant -OneDriveStorageQuota <квота>

Как узнать, в каком модуле находится команда PowerShell?

Команды содержатся внутри модулей. Если вы хотите проверить, какой модуль содержит ту или иную команду, уточните детали команды, например так:

Get-Command <команда> | fl *

Существует атрибут, который называется modulename («имя модуля»). Он показывает вам модуль, в котором находится команда.

Мне нужно создать строку кода PowerShell, которая содержит двойные кавычки и другие символы, но я не хочу экранировать каждый символ. Что предпринять?

Если вы хотите экранировать символы при помощи символа обратной кавычки (`), то это весьма трудоемкое дело, когда у вас есть большое количество таких символов в рамках довольно объемного текста. Вы можете задействовать специальную строку, она называется в PowerShell строкой типа here-string. При использовании here-string можно вставить в строку все что угодно, и содержимое сохранится, включая двойные кавычки, новые строки и т. д.

Чтобы использовать этот тип строк, вам надо начать строку с комбинации @», затем продолжить на новой строке символов, а закончить комбинацией символов @» в пустой строке. Например:

$studententry = @"

You’re PAWSOME!
Keep up the great work!
$($student.FirstName) $($student.LastName) - `$$($student.Paid)

($($student.Grade) - $($student.Teacher))


"@

В этом случае все символы сохранятся, а переменные, которые у меня есть, тоже будут функционировать.

Как создать разрыв страницы в HTML?

Нередко в PowerShell вы делаете вывод в формате HTML с намерением в дальнейшем его напечатать. Это означает, что вам нужно управлять тем, когда требуется новая строка, а это может быть весьма непросто в HTML. Существует ряд возможностей для вставки новой строки. Я предпочитаю следующий метод:

 

Скажем, я использую счетчик и вставляю столько элементов, сколько нужно, например:

$newpage = @"

 

"@ $count=0 some kind of loop { $count++ if($count -eq 4) { $count = 0 $newpage | Out-File $outfile -Append } }

Я импортирую набор данных, но имена столбцов не подходят для использования. Могу ли я переименовать столбцы, когда импортирую данные?

Если вы хотите импортировать набор данных, например в формате CSV, то первая стока символов содержит имена столбцов, которые становятся именами атрибутов, но это могут быть имена, которые не подходят для текущего использования. Например, у меня был файл CSV с такими именами столбцов:

  • имя студента, с которым вы соединяетесь;
  • фамилия студента, с которым вы соединяетесь.

Я хотел, чтобы имена столбцов были чем-то вроде first_name. Это возможно, соответствующий код представлен в листинге 1.

Обратите внимание, я переименовываю столбцы, а если вы посмотрите на Total Paid, то увидите, что я вообще удалил символ $ из строки, поэтому могу впоследствии использовать числа. Каждая строка символов является выражением, поэтому я на самом деле выполняю любые манипуляции по своему выбору.

Существует ли простой способ привести строку к численному типу в PowerShell?

Если у вас есть какие-либо числа в строке, к ним легко обращаться как к числам. Пример приведен в листинге 2.

Как проще всего проверить тип переменной в PowerShell?

Для проверки типа переменной используйте атрибут. GetType ().FullName. Например, как в листинге 3.

Листинг 1. Изменение имени столбцов
$importfile = ‘C:\data\pledge.csv’
$data = Import-Csv $importfile

$cleandata = $data | Select-Object @{ expression={$_.'First name of student you are pledging'}; label='first_name'} , `
@{expression={$_.'Last name of student you are pledging'}; label='last_name' }, `
@{expression={$($_.'Total Paid').Replace("$","")}; label='paid' }, `
@{expression={$_.'Grade of student you are pledging (K,1,2,3,4,5,6)'}; label='grade' }, `
@{expression={$_."Last name of student's homeroom teacher (or Unknown)"}; label='teacher' }
Листинг 2. Работа с числами в строке
PS C:\> $number = "23.5"

PS C:\> $number.GetType().FullName
System.String

PS C:\> $asdecimal = $number -as [decimal]

PS C:\> $asdecimal
23.5

PS C:\> $asdecimal.GetType().FullName
System.Decimal

PS C:\> $asint = $number -as [int]

PS C:\> $asint
24

PS C:\> $asint.GetType().FullName
System.Int32
Листинг 3. Проверка типа переменной
PS C:\> $number = [int]35

PS C:\> $number.GetType().FullName
System.Int32

PS C:\> $string = "Hello World"

PS C:\> $string.GetType().FullName
System.String

PS C:\> $date = Get-Date

PS C:\> $date.GetType().FullName
System.DateTime