Как создать несколько учетных записей пользователей в Office 365 с помощью PowerShell?
Чтобы создать несколько учетных записей пользователей в Office 365 с помощью PowerShell, сделайте следующее.
- Откройте приложение «Блокнот» или любой другой редактор и добавьте сведения о пользователе.
- Сохраните файл с расширением. csv.
- Откройте окно командной строки 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.
"
Как настроить дисковое пространство 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.
$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' }
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
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