Skip to content

Instantly share code, notes, and snippets.

View adamdriscoll's full-sized avatar
:bowtie:

Adam Driscoll adamdriscoll

:bowtie:
View GitHub Profile
@adamdriscoll
adamdriscoll / ConvertCSharpToPowerShell.ps1
Last active February 11, 2017 04:51
Converts C# to PowerShell
Invoke-RestMethod -Uri https://codeconverter.net/csharp/powershell -Method Post -Body @{
Content="class MyClass { void Delete() { var item = new Object(); } }"
}
@adamdriscoll
adamdriscoll / DeleteAttributeLDAP.cs
Created March 10, 2017 01:36
Delete attribute LDAP
var connectionObject = new LdapConnection(new LdapDirectoryIdentifier(controller), new NetworkCredential(username, password));
var directoryAttributeModification = new DirectoryAttributeModification();
directoryAttributeModification.Name = attribute;
directoryAttributeModification.Operation = DirectoryAttributeOperation.Delete;
var response = connectionObject.SendRequest(new ModifyRequest
{
DistinguishedName = dn,
Modifications =
{
directoryAttributeModification
@adamdriscoll
adamdriscoll / SetAttributeLDAP.cs
Created March 10, 2017 01:38
Set attribute LDAP
var connectionObject = new LdapConnection(new LdapDirectoryIdentifier(controller), new NetworkCredential(username, password));
var directoryAttributeModification = new DirectoryAttributeModification();
directoryAttributeModification.Name = attribute;
directoryAttributeModification.Operation = DirectoryAttributeOperation.Replace;
foreach (var value in values)
{
if (value is byte[])
{
directoryAttributeModification.Add(value as byte[]);
@adamdriscoll
adamdriscoll / DoGarbageCollection.cs
Created March 10, 2017 01:39
Do Garbage Collection LDAP
var connectionObject = new LdapConnection(new LdapDirectoryIdentifier(controller), new NetworkCredential(username, password));
var directoryAttributeModification = new DirectoryAttributeModification();
directoryAttributeModification.Name = "doGarbageCollection";
directoryAttributeModification.Operation = DirectoryAttributeOperation.Add;
directoryAttributeModification.Add("1");
connectionObject.SendRequest(new ModifyRequest
{
DistinguishedName = "",
Modifications =
{
@adamdriscoll
adamdriscoll / RenameObject.cs
Created March 10, 2017 01:40
Rename Object LDAP
var connectionObject = new LdapConnection(new LdapDirectoryIdentifier(controller), new NetworkCredential(username, password));
var request = new ModifyDNRequest
{
DeleteOldRdn = true,
DistinguishedName = dn,
NewName = "CN=" + newCn
};
var response = connectionObject.SendRequest(request);
@adamdriscoll
adamdriscoll / NuGetPackage.ps1
Created March 10, 2017 18:39
Create a NuGet package for a .NET project.
param($Configuration)
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
mkdir $PSScriptRoot\package -ErrorAction SilentlyContinue | Out-Null
mkdir $PSScriptRoot\package\lib -ErrorAction SilentlyContinue | Out-Null
mkdir $PSScriptRoot\package\content -ErrorAction SilentlyContinue | Out-Null
Copy-Item "$PSScriptRoot\bin\$Configuration\*.DLL" $PSScriptRoot\package\lib -Force
Copy-Item "$PSScriptRoot\bin\$Configuration\*.key" $PSScriptRoot\package\content -Force
@adamdriscoll
adamdriscoll / MyProject.NuSpec
Last active March 10, 2017 18:40
NuGet Pacakge for my .NET Assemblies
<?xml version="1.0"?>
<package>
<metadata>
<id>MyProject</id>
<version>1.0</version>
<title>$title$</title>
<authors>Adam Driscoll</authors>
<owners>ARD</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>NuGet Package for my .NET Assemblies</description>
@adamdriscoll
adamdriscoll / CreateProcessAsUser.cs
Created March 10, 2017 23:15
Creates a process as a user in a untrusted domain
public void CreateProcessAsUser(string applicationName, string commandLine, string username, string domainName, string password)
{
var si = new STARTUPINFO();
var pi = new PROCESS_INFORMATION();
if (!CreateProcessWithLogonW(username, domainName, password,
LogonFlags.LOGON_NETCREDENTIALS_ONLY, null, applicationName + " " + commandLine,
CreationFlags.CREATE_DEFAULT_ERROR_MODE, 0, null, ref si, out pi))
{
throw new Win32Exception();
@adamdriscoll
adamdriscoll / SetNullString.ps1
Created March 23, 2017 15:13
How do you set a null to a string in PowerShell?
Add-Type "
public class MyClass {
public string MyString {get;set;}
public object GetNull { get { return null; } }
public void SetNull() { MyString = null; }
}"
$myObject = New-Object -TypeName MyClass
$myObject.MyString = "Hey!"
$myObject.MyString = $null
@adamdriscoll
adamdriscoll / CreateProfile.ps1
Created March 24, 2017 18:37
Create profile
function CreateProfile
{
param([String]$pszUserSid, [String]$pszUserName, [System.Text.StringBuilder]$pszProfilePath, [uint]$cchProfilePath)
Add-Type -TypeDefinition '
using System;
using System.Runtime.InteropServices;
public static class PInvoke {
[DllImport("userenv.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int CreateProfile( [MarshalAs(UnmanagedType.LPWStr)] String pszUserSid, [MarshalAs(UnmanagedType.LPWStr)] String pszUserName, [Out, MarshalAs(UnmanagedType.LPWStr)] System.Text.StringBuilder pszProfilePath, uint cchProfilePath);
}