Skip to content

Instantly share code, notes, and snippets.

View duffney's full-sized avatar
⌨️
Coding

Josh Duffney duffney

⌨️
Coding
View GitHub Profile
@duffney
duffney / Migrate-ADMTUserCLI.ps1
Last active August 29, 2015 14:28 — forked from RamblingCookieMonster/Migrate-ADMTUserCLI.ps1
This is an example function that wraps ADMT.exe, abstracting out migration of Active Directory users into a PowerShell function.
<#
This is a PowerShell function wrapping the ADMT executable to abstract out migrating Active Directory users.
Read all the ADMT docs, and all the code and comments below before considering using this : )
The COM object was covered nicely by Jan Egil Ring:
http://blog.powershell.no/2010/08/04/automate-active-directory-migration-tool-using-windows-powershell/
Unfortunately, the COM object does not support Include files, a critical requirement for us.
@duffney
duffney / Search-ADGroups.ps1
Last active September 1, 2015 02:15
Search-ADGroups.ps1
$StaleGroupsobj = @()
$DC = (Get-ADDomain).DNSroot
$Groups = (Get-ADGroup -Filter * -Server $DC).name
Foreach ($Group in $Groups){
$Group = Get-ADGroup -Filter {Name -eq $Group} -Properties Name, DistinguishedName, `
GroupCategory, GroupScope, whenCreated, whenChanged, member, `
memberOf, sIDHistory, SamAccountName, Description -Server $DC |
Select-Object Name, DistinguishedName, GroupCategory, GroupScope, `
whenCreated, whenChanged, member, memberOf, SID, SamAccountName, `
@duffney
duffney / Stale-ADgroups.ps1
Created August 25, 2015 02:34
Stale-ADgroups.ps1
$StaleGroupsobj | where MemberCount -eq '0'`
| select Name,MemberCount,MemberofCount,DaysSinceChange`
| where MemberOfCount -eq '0' | where DaysSinceChange -GE '190'| ft
@duffney
duffney / Config_HTTPPullServer.ps1
Created August 27, 2015 01:06
Config_HTTPPullServer.ps1
configuration HTTPPullServer
{
# Modules must exist on target pull server
Import-DSCResource -ModuleName xPSDesiredStateConfiguration
Node WS2016P3
{
WindowsFeature DSCServiceFeature
{
Ensure = "Present"
@duffney
duffney / LCM_HTTPPULL.ps1
Created August 27, 2015 20:42
LCM_HTTPPULL.ps1
[DSCLocalConfigurationManager()]
Configuration LCM_HTTPPULL
{
param
(
[Parameter(Mandatory=$true)]
[string[]]$ComputerName,
[Parameter(Mandatory=$true)]
[string]$guid
@duffney
duffney / Config_SMTP_DSC.ps1
Last active August 29, 2015 00:47
Config_SMTP_DSC.ps1
configuration SMTP {
Node HTTPComputers {
WindowsFeature SMTP{
Name = 'SMTP-Server'
Ensure = 'Present'
}
}
}
@duffney
duffney / Copy-SQLTable.ps1
Created September 19, 2015 15:59
Copy-SQLTable.ps1
function Copy-SQLTable {
<#
.SYNOPSIS
Copies a table from a source database and inserts it into the target database.
.DESCRIPTION
Takes all the data from the source database and inserts it into the target database with the same name.
.PARAMETER TableName
Specifies the table name to be copied from the source and inserted into the target.
.PARAMETER SourceServer
Specifies source server DNS name and instance, use ServerName\InstanceName.
@duffney
duffney / Disable-ADComputer.ps1
Created November 7, 2015 21:22
Disables Computers and moves them to the specified OU.
function Disable-ADComputer {
<#
.SYNOPSIS
Disables Computers and moves them to the specified OU.
.DESCRIPTION
Take string or object input for computers then disables each one and moves to the specified ou
then outputs errors to a log file.
.PARAMETER Identity
Name of computer or computers
.PARAMETER DisabledOU
$parms = @{
'class'='Win32_LogicalDisk';
'computername'='DESKTOP';
'filter'='drivetype=3';
}
Get-WmiObject @parms
@duffney
duffney / Move-ADGroupMemberofToMember.ps1
Last active November 8, 2015 03:15
Single Domain support Move-ADGroupMemberofToMember
function Move-ADGroupMemberofToMember {
<#
.SYNOPSIS
Moves all Member Of Groups to the Members section of an Active Directory group.
.DESCRIPTION
Queries an Active Directory group for all Member Of groups then add them to the members section
and removes them from the member of section of the active directory group.
.PARAMETER Identity
Specify the group to run the cmdlet against.
.EXAMPLE