function withHover(Component, propName = 'hovering') {
return class WithHover extends React.Component {
state = { hovering: false }
mouseOver = () => this.setState({ hovering: true })
mouseOut = () => this.setState({ hovering: false })
render() {
console.log(this.props) // { height: "16px" }
const props = {
[propName]: this.state.hovering,
...this.props,
}
return (
<div onMouseOver={this.mouseOver} onMouseOut={this.mouseOut}>
<Component {...props} />
</div>
);
}
}
}
dbatools: Migrate SQL Server Logins Between Instances
Uses PowerShell and SMO to migrate SQL logins. Logins are completely migrated and maintain their SIDs, passwords, server/database roles, server/database permission sets & securable, default database and login attributes. Works on SQL Server 2000 and above.
SQL best practices for SharePoint 2013/2016
thanks to RISHABH
Database File Separation Recommendations
- Storage is one of the keys to performance. It is recommended that the following database file separation be used (separate disks, separate LUNs), in priority order, where possible:
Enforce Unique Nullable Column With ‘IGNORE_DUP_KEY = ON’
CREATE TABLE [identigy].[patron](
[ID] [bigint] NOT NULL,
[DISID] [nvarchar](20) NOT NULL,
[PKID] [nvarchar](20) NULL,
[DISHID] [nvarchar](20) NULL,
[FIRSTNAME] [nvarchar](250) NULL,
[LASTNAME] [nvarchar](250) NULL,
[CLASSIFICATION] [nvarchar](250) NULL,
[FLAGS] [nvarchar](500) NULL,
[SHIFTS] [nvarchar](50) NULL,
[ACTION] [nvarchar](10) NULL,
[ACTIVE] [bit] NOT NULL CONSTRAINT [DEFAULT_Identigy_Patron_Active] DEFAULT ((1))
,[DISIDnullbuster] AS (CASE WHEN [DISID] IS NULL THEN CAST(ID AS VARCHAR(20)) ELSE DISID END)
,[PKIDnullbuster] AS (CASE WHEN [PKID] IS NULL THEN CAST(ID AS VARCHAR(20)) ELSE PKID END)
,CONSTRAINT [PK_Identigy_Patron] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (IGNORE_DUP_KEY = ON) ON [PRIMARY]
,CONSTRAINT [UX_Identigy_Patron_DISID] UNIQUE ( [DISIDnullbuster] ASC ) WITH (IGNORE_DUP_KEY = ON) ON [PRIMARY]
,CONSTRAINT [UX_Identigy_Patron_PKID] UNIQUE ( [PKIDnullbuster] ASC ) WITH (IGNORE_DUP_KEY = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
dbatools.io: PowerShell & SQL Server
SQL Bulk Upload
How can we avoid duplicate values while we are doing bulk insert to a table
--BEGIN TRAN
CREATE TABLE [tlg].[UserVisitLogs](
[TStamp] DATETIME,
[SessionID] NVARCHAR(20),
[CorrelationID] NVARCHAR(20),
[SchoolCode] NVARCHAR(20),
[SiteExternalID] NVARCHAR(20),
[WebType] NVARCHAR(20),
[WebUrl] NVARCHAR(100),
[UserSid] NVARCHAR(50),
[UserName] NVARCHAR(20),
[UserType] NVARCHAR(20),
[CachedUser] NVARCHAR(20)
)
GO
-- Create Unique Clustered Index with IGNORE_DUPE_KEY=ON to avoid duplicate
CREATE UNIQUE CLUSTERED INDEX [ClusteredIndex-Logs] ON [tlg].[UserVisitLogs]
(
[TStamp] DESC,
[SessionID] ASC,
[CorrelationID] ASC,
[SchoolCode] ASC,
[SiteExternalID] ASC,
[WebType] ASC,
[WebUrl] ASC,
[UserSid] ASC,
[UserName] ASC,
[UserType] ASC,
[CachedUser] ASC
) WITH (IGNORE_DUP_KEY = ON)
GO
--ROLLBACK TRAN
/*
Thanks to dbatools.io : https://www.youtube.com/watch?v=kQYUrSlb0wg
*/
PowerShell: Script to move items from one folder to another in a user’s office 365 mailbox
Exchange Web Services 2.0 Using PowerShell
- Exchange Online and Exchange 2013 development
- Microsoft Exchange Web Services Managed API 2.2
- EWS Managed API reference
- PowerShell – Script to move items from one folder to another in a user’s mailbox
- Quick searching of today’s email using Powershell and EWS
- Search-Mailbox
- Explore the EWS Managed API, EWS, and web services in Exchange
- EWS Managed API, EWS, and web services in Exchange
- Exchange Online and Exchange 2013 development
- Exporting and importing items by using EWS in Exchange
- PowerShell EWS Save as for e-mails
PowerShell implicit remoting on imported a cmdlet
Import-PSSession -Session (
New-PSSession -ComputerName dc01 -Credential (Get-Credential)
) -CommandName New-ADUser
$Password = Read-Host -assecurestring "SP2013 Farm Account Password"
$Name = "spExtranetFarm"
$UPN = "spExtranetFarm@mikefrobbins.com"
$Description = "SharePoint Farm Administrator Account - Extranet"
$Path = "ou=service,ou=accounts,ou=test,dc=mikefrobbins,dc=com"
New-ADUser -Name $Name -AccountPassword $Password -Description $Description `
-Enabled $true `
-PasswordNeverExpires $true `
-Path $Path `
-SamAccountName $Name `
-UserPrincipalName $UPN