Home
- Details
- Written by: po3dno
- Category: Exchange Server
- Hits: 897
$report = @() $Mbxs = Get-Mailbox -Resultsize Unlimited foreach ($Mbx in $Mbxs) { $Owner = Get-Mailbox $Mbx | Get-MailboxPermission -Owner $Manager = Get-ADUser $mbx.SamAccountName -Server domain.com -Properties Manager #| select Name, @{N='Manager';E={(Get-ADUser $_.Manager).name}} $permission = get-mailboxpermission -identity $Mbx |where {$_.user -notlike "*NT AUTHORITY\SELF" -and $_.IsInherited -eq $false}| select @{Name="Displayname"; Expression={(Get-Recipient $_.user.ToString()).Displayname.ToString()}}, @{Name="primarysmtpaddress"; Expression={(Get-Recipient $_.user.ToString()).primarysmtpaddress.ToString()}}, user, @{Name="AccessRights";Expression={$_.AccessRights}}| Select User, name, accessrights $reportObj = New-Object PSObject $reportObj | Add-Member NoteProperty -Name "Mailbox Name" -Value $mbx.name $reportObj | Add-Member NoteProperty -Name "RecipientTypeDetails" -Value $mbx.RecipientTypeDetails $reportObj | Add-Member NoteProperty -Name "Access Rights" -Value $permission.AccessRights $reportObj | Add-Member NoteProperty -Name "Username" -Value $permission.user $reportObj | Add-Member NoteProperty -Name "Owner" -Value $Owner.owner $reportObj | Add-Member NoteProperty -Name "Manager" -Value $Manager.manager $report += $reportObj } $report
- Details
- Written by: po3dno
- Category: MariaDB
- Hits: 892
alter table app_log_Test drop PRIMARY KEY, add primary key (`id`, `dateCreated`);
Next, I can re-run my alter table to add the partitions I care about.
ALTER TABLE app_log_Test
PARTITION BY RANGE (TO_DAYS(dateCreated))
(PARTITION p_invalid_date VALUES LESS THAN (0) ENGINE = TokuDB,
PARTITION p_201809 VALUES LESS THAN (TO_DAYS('2018-09-01 00:00:00')),
PARTITION p_201810 VALUES LESS THAN (TO_DAYS('2018-10-01 00:00:00')),
PARTITION p_max_future_dates VALUES LESS THAN MAXVALUE);
If I need to add more partitions after that. I don't have to specify the partition scheme again I can just add the partition and its constraints.
ALTER TABLE app_log_Test
REORGANIZE PARTITION p_max_future_dates INTO (
PARTITION p_201811 VALUES LESS THAN (TO_DAYS('2018-11-01 00:00:00')),
PARTITION p_201812 VALUES LESS THAN (TO_DAYS('2018-12-01 00:00:00')),
PARTITION p_max_future_dates VALUES LESS THAN MAXVALUE);
My table now looks like this.
show create table app_log_Test;
Create Table: CREATE TABLE `app_log_Test` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`dateCreated` datetime NOT NULL,
`host` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`label` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`event` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`level` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`message` text COLLATE utf8mb4_unicode_ci,
`version` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`,`dateCreated`),
KEY `app_log_dateCreated` (`dateCreated`),
KEY `app_log_label` (`label`),
KEY `app_log_event` (`event`),
KEY `app_log_level` (`level`)
) ENGINE=TokuDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci `COMPRESSION`=tokudb_zlib
- Details
- Written by: po3dno
- Category: MariaDB
- Hits: 909
A MariaDB Support customer recently asked how they could automatically drop old partitions after 6 months. MariaDB does not have a mechanism to do this automatically out-of-the-box, but it is not too difficult to create a custom stored procedure and an event to call the procedure on the desired schedule. In fact, it is also possible to go even further and create a stored procedure that can also automatically add new partitions. In this blog post, I will show how to write stored procedures that perform these tasks.
PARTITIONED TABLE DEFINITION
For this demonstration, I’ll use a table definition based on one from MySQL’s documentation on range partitioning, with some minor changes:
DROP TABLE IF EXISTS db1.quarterly_report_status; CREATE TABLE db1.quarterly_report_status ( report_id INT NOT NULL, report_status VARCHAR(20) NOT NULL, report_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB PARTITION BY RANGE ( UNIX_TIMESTAMP(report_updated) ) ( PARTITION p_first VALUES LESS THAN ( UNIX_TIMESTAMP('2016-10-01 00:00:00')), PARTITION p201610 VALUES LESS THAN ( UNIX_TIMESTAMP('2016-11-01 00:00:00')), PARTITION p201611 VALUES LESS THAN ( UNIX_TIMESTAMP('2016-12-01 00:00:00')), PARTITION p201612 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-01-01 00:00:00')), PARTITION p201701 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-02-01 00:00:00')), PARTITION p201702 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-03-01 00:00:00')), PARTITION p201703 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-04-01 00:00:00')), PARTITION p201704 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-05-01 00:00:00')), PARTITION p201705 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-06-01 00:00:00')), PARTITION p201706 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-07-01 00:00:00')), PARTITION p201707 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-08-01 00:00:00')), PARTITION p201708 VALUES LESS THAN ( UNIX_TIMESTAMP('2017-09-01 00:00:00')), PARTITION p_future VALUES LESS THAN (MAXVALUE) );
- Details
- Written by: po3dno
- Category: Windows tips
- Hits: 881
3. Right-click on regedit icon, click Run as administrator
4. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0
5. Double click on Attributes
6. Enter number 2.
7. Go to Advanced power settings (click on Windows button, write power options, click on Power Options, in the selected plan click on the Change plan settings, click on the Change advanced power settings).
8. Click on the Change settings that are currently unavailableMinimum value
0 (Never idle to sleep)
- Details
- Written by: po3dno
- Category: Windows tips
- Hits: 889
Отсутствие схем электропитания вероятнее всего связано с новым режимом питания на устройствах с аккумулятором в версии 1709 . Если щелкнуть значок батареи, то можно видеть слайдер, который появится только, если выбрана схема «Сбалансированная».
Схемы можно восстановить следующими способами: сделать схему «Высокая производительность» или «Экономия энергии» активной, при этом активная схема появится в Панели управления, или же создать дубликаты этих схем, и тогда появятся обе схемы. В Командной строке нужно выполнить команды.
Сделать схему активной: powercfg.exe /setactive <GUID схемы питания>
Создать дупликат схемы: powercfg -duplicatescheme <GUID схемы питания>
Вместо <GUID схемы питания> нужно вставить GUID соответствующей схемы.
Для схемы "Сбалансированная" - 381b4222-f694-41f0-9685-ff5bb260df2e
Для схемы "Экономия энергии" - a1841308-3541-4fab-bc81-f71556f20b4a
Для схемы "Высокая производительность" - 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c