# encoding: ascii
# api: csharp
# title: IADsDNWithBinary Cmdlet
# description: I cooked this up to configure OCS user policy, but it should work for other attributes of this type as well.
# version: 0.1
# type: class
# license: CC0
# x-poshcode-id: 1168
# x-archived: 2009-06-27T19:48:03
#
#
//Adapted from code @ http://mow001.blogspot.com/2006/01/msh-snap-in-to-translate.html Thanks!
using System;
using System.ComponentModel;
using System.Management.Automation;
using System.Reflection;
using System.Diagnostics;
namespace space
{
// This class defines the properties of a snap-in
[RunInstaller(true)]
public class readIADsDNWithBinary : PSSnapIn
{
/// Creates instance of Snapin class.
public readIADsDNWithBinary() : base() { }
///Snapin name is used for registration
public override string Name
{ get { return "readIADsDNWithBinary"; } }
/// Gets description of the snap-in.
public override string Description
{ get { return "Reads a IADsDNWithBinary"; } }
public override string Vendor
{ get { return "Andrew"; } }
}
/// Gets a IADsDNWithBinary
[Cmdlet("Read", "IADsDNWithBinary")]
public class readIADsDNWithBinaryCommand : Cmdlet
{
[Parameter(Position = 0, Mandatory = true)]
public object DNWithBinary
{
get { return DNWithBin; }
set { DNWithBin = value; }
}
private object DNWithBin;
protected override void EndProcessing()
{
ActiveDs.IADsDNWithBinary DNB = (ActiveDs.IADsDNWithBinary)DNWithBin;
ActiveDs.DNWithBinary boink = new ActiveDs.DNWithBinaryClass();
boink.BinaryValue = (byte[])DNB.BinaryValue;
boink.DNString = DNB.DNString;
WriteObject(boink);
}
}
/// Sets a IADsDNWithBinary
[Cmdlet("Write", "IADsDNWithBinary")]
public class writeIADsDNWithBinaryCommand : Cmdlet
{
[Parameter(Mandatory = true)]
public byte[] Bin
{
get { return bin; }
set { bin = value; }
}
private byte[] bin;
[Parameter(Mandatory = true)]
public string DN
{
get { return dn; }
set { dn = value; }
}
private string dn;
protected override void EndProcessing()
{
ActiveDs.DNWithBinary boink2 = new ActiveDs.DNWithBinaryClass();
boink2.BinaryValue = bin;
boink2.DNString = dn;
WriteObject(boink2);
}
}
}