Location: List Archives

List Archives

This forum is an archive of all posts to our mailing list over the past few years.  The forum is set read only therefore to contribute you will need to join our list community.  See more info about this here.

List Archives

Subject: Re: Newbie learning was Re: [ActiveDir] [OT] BIND as Secondary DNS?
Prev Next
You are not authorized to post a reply.

AuthorMessages
sbradcpaUser is Offline

Posts:299

04/29/2008 6:17 PM  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<cough><a class="moz-txt-link-abbreviated" href="http://www.amazon.com">www.amazon.com</a><cough>



Okay so tell me what to buy.  I have MSpress's two powershell books,
PowerShell programming for absolute beginners on it's way.  What else? 
Or is that enough to start?



Brandon Shell wrote:
<blockquote
cite="mid:3818992d0804291451x51486612k33a81e7133c80b61@mail.gmail.com"
type="cite">
<div>That is not a WMI thing... That is a vbscript thing.</div>
<div> </div>
<div>IMO: </div>
<div>Pick a languages (Powershell of course :) )</div>
<div>Learn basic WMI design (how it works generically)</div>
<div>Learn basic .NET</div>
<div>Your golden. Plenty of examples and people to ask questions of
<cough>me</cough>



</div>
<div class="gmail_quote">On Tue, Apr 29, 2008 at 5:44 PM, Susan
Bradley, CPA aka Ebitz - SBS Rocks [MVP] <<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'sbradcpa'+'@'+'pacbell'+'.net')">sbradcpa@pacbell.net</a>> wrote:

<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
<div text="#000000" bgcolor="#ffffff">We call that a wizard in
SBSland.  ;-)



Okay but what if one wants to better understand that <font
color="#800000" face="Courier New" size="2"><span>strComputer = "."</span></font>

means set to local computer.  Which place/SDK/book/msdn site is the
best place to better understand what scriptomatic is doing? (besides
googling each term)?







joe wrote:
<blockquote type="cite">
<div dir="ltr" align="left"><span><font color="#0000ff"
face="Arial" size="2">I have found Scriptomatic to be pretty helpful
for finding stuff in the WMI arena. It also generates perl script for
you. :)</font></span></div>
<div> </div>
<div><font color="#0000ff" face="Arial" size="2"><span>Created in
seconds....</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#800000" face="Courier New" size="2"><span>use
strict;

use Win32::OLE('in');</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>use
constant wbemFlagReturnImmediately => 0x10;

use constant wbemFlagForwardOnly => 0x20;</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>my
@computers = ("SFMXP32");

foreach my $computer (@computers) {

   print "\n";

   print "==========================================\n";

   print "Computer: $computer\n";

   print "==========================================\n";</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>  
my $objWMIService =
Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die
"WMI connection failed.\n";

   my $colItems = $objWMIService->ExecQuery("SELECT * FROM
Win32_Process", "WQL",

                  wbemFlagReturnImmediately | wbemFlagForwardOnly);</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>  
foreach my $objItem (in $colItems) {

      print "Caption: $objItem->{Caption}\n";

      print "CommandLine: $objItem->{CommandLine}\n";

      print "CreationClassName: $objItem->{CreationClassName}\n";

      print "CreationDate: $objItem->{CreationDate}\n";

      print "CSCreationClassName: $objItem->{CSCreationClassName}\n";

      print "CSName: $objItem->{CSName}\n";

      print "Description: $objItem->{Description}\n";

      print "ExecutablePath: $objItem->{ExecutablePath}\n";

      print "ExecutionState: $objItem->{ExecutionState}\n";

      print "Handle: $objItem->{Handle}\n";

      print "HandleCount: $objItem->{HandleCount}\n";

      print "InstallDate: $objItem->{InstallDate}\n";

      print "KernelModeTime: $objItem->{KernelModeTime}\n";

      print "MaximumWorkingSetSize:
$objItem->{MaximumWorkingSetSize}\n";

      print "MinimumWorkingSetSize:
$objItem->{MinimumWorkingSetSize}\n";

      print "Name: $objItem->{Name}\n";

      print "OSCreationClassName: $objItem->{OSCreationClassName}\n";

      print "OSName: $objItem->{OSName}\n";

      print "OtherOperationCount: $objItem->{OtherOperationCount}\n";

      print "OtherTransferCount: $objItem->{OtherTransferCount}\n";

      print "PageFaults: $objItem->{PageFaults}\n";

      print "PageFileUsage: $objItem->{PageFileUsage}\n";

      print "ParentProcessId: $objItem->{ParentProcessId}\n";

      print "PeakPageFileUsage: $objItem->{PeakPageFileUsage}\n";

      print "PeakVirtualSize: $objItem->{PeakVirtualSize}\n";

      print "PeakWorkingSetSize: $objItem->{PeakWorkingSetSize}\n";

      print "Priority: $objItem->{Priority}\n";

      print "PrivatePageCount: $objItem->{PrivatePageCount}\n";

      print "ProcessId: $objItem->{ProcessId}\n";

      print "QuotaNonPagedPoolUsage:
$objItem->{QuotaNonPagedPoolUsage}\n";

      print "QuotaPagedPoolUsage: $objItem->{QuotaPagedPoolUsage}\n";

      print "QuotaPeakNonPagedPoolUsage:
$objItem->{QuotaPeakNonPagedPoolUsage}\n";

      print "QuotaPeakPagedPoolUsage:
$objItem->{QuotaPeakPagedPoolUsage}\n";

      print "ReadOperationCount: $objItem->{ReadOperationCount}\n";

      print "ReadTransferCount: $objItem->{ReadTransferCount}\n";

      print "SessionId: $objItem->{SessionId}\n";

      print "Status: $objItem->{Status}\n";

      print "TerminationDate: $objItem->{TerminationDate}\n";

      print "ThreadCount: $objItem->{ThreadCount}\n";

      print "UserModeTime: $objItem->{UserModeTime}\n";

      print "VirtualSize: $objItem->{VirtualSize}\n";

      print "WindowsVersion: $objItem->{WindowsVersion}\n";

      print "WorkingSetSize: $objItem->{WorkingSetSize}\n";

      print "WriteOperationCount: $objItem->{WriteOperationCount}\n";

      print "WriteTransferCount: $objItem->{WriteTransferCount}\n";

      print "\n";

   }

}sub WMIDateStringToDate(strDate)

{

   return "blah";

}

</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span>Oh you
want Python instead???</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#800000" face="Courier New" size="2"><span>import
win32com.client

def WMIDateStringToDate(dtmDate):

    strDateTime = ""

    if (dtmDateΒ] == 0):

        strDateTime = dtmDateΓ] + '/'

    else:

        strDateTime = dtmDateΒ] + dtmDateΓ] + '/'

    if (dtmDateΔ] == 0):

        strDateTime = strDateTime + dtmDateΕ] + '/'

    else:

        strDateTime = strDateTime + dtmDateΔ] + dtmDateΕ] + '/'

        strDateTime = strDateTime + dtmDateΎ] + dtmDateΏ] +
dtmDateΐ] + dtmDateΑ] + " " + dtmDateΖ] + dtmDateΗ] + ":" +
dtmDate⎖] + dtmDate⎗] +':' + dtmDate⎘] + dtmDate⎙]

    return strDateTime</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>strComputer
= "."

objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")

objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")

colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_Process")

for objItem in colItems:

    if objItem.Caption != None:

        print "Caption:" + ` objItem.Caption`

    if objItem.CommandLine != None:

        print "CommandLine:" + ` objItem.CommandLine`

    if objItem.CreationClassName != None:

        print "CreationClassName:" + ` objItem.CreationClassName`

    if objItem.CreationDate != None:

        print "CreationDate:" +
WMIDateStringToDate(objItem.CreationDate)

    if objItem.CSCreationClassName != None:

        print "CSCreationClassName:" + ` objItem.CSCreationClassName`

    if objItem.CSName != None:

        print "CSName:" + ` objItem.CSName`

    if objItem.Description != None:

        print "Description:" + ` objItem.Description`

    if objItem.ExecutablePath != None:

        print "ExecutablePath:" + ` objItem.ExecutablePath`

    if objItem.ExecutionState != None:

        print "ExecutionState:" + ` objItem.ExecutionState`

    if objItem.Handle != None:

        print "Handle:" + ` objItem.Handle`

    if objItem.HandleCount != None:

        print "HandleCount:" + ` objItem.HandleCount`

    if objItem.InstallDate != None:

        print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate)

    if objItem.KernelModeTime != None:

        print "KernelModeTime:" + ` objItem.KernelModeTime`

    if objItem.MaximumWorkingSetSize != None:

        print "MaximumWorkingSetSize:" + `
objItem.MaximumWorkingSetSize`

    if objItem.MinimumWorkingSetSize != None:

        print "MinimumWorkingSetSize:" + `
objItem.MinimumWorkingSetSize`

    if objItem.Name != None:

        print "Name:" + ` objItem.Name`

    if objItem.OSCreationClassName != None:

        print "OSCreationClassName:" + ` objItem.OSCreationClassName`

    if objItem.OSName != None:

        print "OSName:" + ` objItem.OSName`

    if objItem.OtherOperationCount != None:

        print "OtherOperationCount:" + ` objItem.OtherOperationCount`

    if objItem.OtherTransferCount != None:

        print "OtherTransferCount:" + ` objItem.OtherTransferCount`

    if objItem.PageFaults != None:

        print "PageFaults:" + ` objItem.PageFaults`

    if objItem.PageFileUsage != None:

        print "PageFileUsage:" + ` objItem.PageFileUsage`

    if objItem.ParentProcessId != None:

        print "ParentProcessId:" + ` objItem.ParentProcessId`

    if objItem.PeakPageFileUsage != None:

        print "PeakPageFileUsage:" + ` objItem.PeakPageFileUsage`

    if objItem.PeakVirtualSize != None:

        print "PeakVirtualSize:" + ` objItem.PeakVirtualSize`

    if objItem.PeakWorkingSetSize != None:

        print "PeakWorkingSetSize:" + ` objItem.PeakWorkingSetSize`

    if objItem.Priority != None:

        print "Priority:" + ` objItem.Priority`

    if objItem.PrivatePageCount != None:

        print "PrivatePageCount:" + ` objItem.PrivatePageCount`

    if objItem.ProcessId != None:

        print "ProcessId:" + ` objItem.ProcessId`

    if objItem.QuotaNonPagedPoolUsage != None:

        print "QuotaNonPagedPoolUsage:" + `
objItem.QuotaNonPagedPoolUsage`

    if objItem.QuotaPagedPoolUsage != None:

        print "QuotaPagedPoolUsage:" + ` objItem.QuotaPagedPoolUsage`

    if objItem.QuotaPeakNonPagedPoolUsage != None:

        print "QuotaPeakNonPagedPoolUsage:" + `
objItem.QuotaPeakNonPagedPoolUsage`

    if objItem.QuotaPeakPagedPoolUsage != None:

        print "QuotaPeakPagedPoolUsage:" + `
objItem.QuotaPeakPagedPoolUsage`

    if objItem.ReadOperationCount != None:

        print "ReadOperationCount:" + ` objItem.ReadOperationCount`

    if objItem.ReadTransferCount != None:

        print "ReadTransferCount:" + ` objItem.ReadTransferCount`

    if objItem.SessionId != None:

        print "SessionId:" + ` objItem.SessionId`

    if objItem.Status != None:

        print "Status:" + ` objItem.Status`

    if objItem.TerminationDate != None:

        print "TerminationDate:" +
WMIDateStringToDate(objItem.TerminationDate)

    if objItem.ThreadCount != None:

        print "ThreadCount:" + ` objItem.ThreadCount`

    if objItem.UserModeTime != None:

        print "UserModeTime:" + ` objItem.UserModeTime`

    if objItem.VirtualSize != None:

        print "VirtualSize:" + ` objItem.VirtualSize`

    if objItem.WindowsVersion != None:

        print "WindowsVersion:" + ` objItem.WindowsVersion`

    if objItem.WorkingSetSize != None:

        print "WorkingSetSize:" + ` objItem.WorkingSetSize`

    if objItem.WriteOperationCount != None:

        print "WriteOperationCount:" + ` objItem.WriteOperationCount`

    if objItem.WriteTransferCount != None:

        print "WriteTransferCount:" + ` objItem.WriteTransferCount`

</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span>Oh...
vbscript, I see</span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div><font color="#800000" face="Courier New" size="2"><span>On
Error Resume Next</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>Const
wbemFlagReturnImmediately = &h10

Const wbemFlagForwardOnly = &h20</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>arrComputers
= Array("SFMXP32")

For Each strComputer In arrComputers

   WScript.Echo

   WScript.Echo "=========================================="

   WScript.Echo "Computer: " & strComputer

   WScript.Echo "=========================================="</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>  
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\CIMV2")

   Set colItems = objWMIService.ExecQuery("SELECT * FROM
Win32_Process", "WQL", _

                                          wbemFlagReturnImmediately +
wbemFlagForwardOnly)</span></font></div>
<div> </div>
<div><font color="#800000" face="Courier New" size="2"><span>  
For Each objItem In colItems

      WScript.Echo "Caption: " & objItem.Caption

      WScript.Echo "CommandLine: " & objItem.CommandLine

      WScript.Echo "CreationClassName: " & objItem.CreationClassName

      WScript.Echo "CreationDate: " &
WMIDateStringToDate(objItem.CreationDate)

      WScript.Echo "CSCreationClassName: " &
objItem.CSCreationClassName

      WScript.Echo "CSName: " & objItem.CSName

      WScript.Echo "Description: " & objItem.Description

      WScript.Echo "ExecutablePath: " & objItem.ExecutablePath

      WScript.Echo "ExecutionState: " & objItem.ExecutionState

      WScript.Echo "Handle: " & objItem.Handle

      WScript.Echo "HandleCount: " & objItem.HandleCount

      WScript.Echo "InstallDate: " &
WMIDateStringToDate(objItem.InstallDate)

      WScript.Echo "KernelModeTime: " & objItem.KernelModeTime

      WScript.Echo "MaximumWorkingSetSize: " &
objItem.MaximumWorkingSetSize

      WScript.Echo "MinimumWorkingSetSize: " &
objItem.MinimumWorkingSetSize

      WScript.Echo "Name: " & objItem.Name

      WScript.Echo "OSCreationClassName: " &
objItem.OSCreationClassName

      WScript.Echo "OSName: " & objItem.OSName

      WScript.Echo "OtherOperationCount: " &
objItem.OtherOperationCount

      WScript.Echo "OtherTransferCount: " &
objItem.OtherTransferCount

      WScript.Echo "PageFaults: " & objItem.PageFaults

      WScript.Echo "PageFileUsage: " & objItem.PageFileUsage

      WScript.Echo "ParentProcessId: " & objItem.ParentProcessId

      WScript.Echo "PeakPageFileUsage: " & objItem.PeakPageFileUsage

      WScript.Echo "PeakVirtualSize: " & objItem.PeakVirtualSize

      WScript.Echo "PeakWorkingSetSize: " &
objItem.PeakWorkingSetSize

      WScript.Echo "Priority: " & objItem.Priority

      WScript.Echo "PrivatePageCount: " & objItem.PrivatePageCount

      WScript.Echo "ProcessId: " & objItem.ProcessId

      WScript.Echo "QuotaNonPagedPoolUsage: " &
objItem.QuotaNonPagedPoolUsage

      WScript.Echo "QuotaPagedPoolUsage: " &
objItem.QuotaPagedPoolUsage

      WScript.Echo "QuotaPeakNonPagedPoolUsage: " &
objItem.QuotaPeakNonPagedPoolUsage

      WScript.Echo "QuotaPeakPagedPoolUsage: " &
objItem.QuotaPeakPagedPoolUsage

      WScript.Echo "ReadOperationCount: " &
objItem.ReadOperationCount

      WScript.Echo "ReadTransferCount: " & objItem.ReadTransferCount

      WScript.Echo "SessionId: " & objItem.SessionId

      WScript.Echo "Status: " & objItem.Status

      WScript.Echo "TerminationDate: " &
WMIDateStringToDate(objItem.TerminationDate)

      WScript.Echo "ThreadCount: " & objItem.ThreadCount

      WScript.Echo "UserModeTime: " & objItem.UserModeTime

      WScript.Echo "VirtualSize: " & objItem.VirtualSize

      WScript.Echo "WindowsVersion: " & objItem.WindowsVersion

      WScript.Echo "WorkingSetSize: " & objItem.WorkingSetSize

      WScript.Echo "WriteOperationCount: " &
objItem.WriteOperationCount

      WScript.Echo "WriteTransferCount: " &
objItem.WriteTransferCount

      WScript.Echo

   Next

Next</span></font></div>
<div> </div>
<div><font size="2"><span>

<font color="#800000" face="Courier New">Function
WMIDateStringToDate(dtmDate)

WScript.Echo dtm:

 WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _

 Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _

 & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11,
2) & ":" & Mid(dtmDate,13, 2))

End Function</font></span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span> </span></font></div>
<div><font color="#0000ff" face="Arial" size="2"><span></span></font> </div>
<div> </div>
<div align="left">
<div> </div>
<div align="left">
<div dir="ltr" align="left"><span><font color="#0000ff"
face="Arial" size="2">--</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff"
face="Arial" size="2">O'Reilly Active Directory Third Edition - <a
moz-do-not-send="true"
title="blocked::http://www.joeware.net/win/ad3e.htm"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a> </font></span></div>
<div dir="ltr" align="left"><span></span> </div>
</div>
</div>
<div> </div>


<div dir="ltr" align="left" lang="en-us">
<hr><font face="Tahoma" size="2"><b>From:</b> <a
moz-do-not-send="true" href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org"
target="_blank">ActiveDir-owner@mail.activedir.org</a> [<a
moz-do-not-send="true" href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org"
target="_blank">mailto:ActiveDir-owner@mail.activedir.org</a>] <b>On
Behalf Of </b>Michael B. Smith

<b>Sent:</b> Tuesday, April 29, 2008 1:18 PM

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

<b>Subject:</b> RE: [ActiveDir] [OT] BIND as Secondary DNS?

</font>

</div>
<div>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">From
one of my upcoming books:</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p>WMI stands for Windows Management Instrumentation. WMI is the
Microsoft implementation of something known as CIM, which stands for
Common Information Model. CIM (and therefore WMI) is an
industry-standard way of representing information about computing
objects. These objects include processors, processes, tasks, networks,
IP addresses, routers, switches, etc. etc. There are literally hundreds
of WMI objects implemented within modern versions of Windows (WMI was
first available in Windows 2000 Server).</p>
<p>WMI provides a schema (that is, a description of the
information that is available) and a specification of the format of the
data contained within the schema. Within WMI, Microsoft has also
defined a simple and standard mechanism for accessing the information
contained therein.</p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">In my
opinion, you get a great deal of value from spending time reading the
MSDN documents on (for example) Win32_Process. And if you get there,
you can see all the other Win32_* items. Drill down, and lo and behold,
there is a wealth of data.</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">Within
PowerShell, start with "gwmi win32_process | fl" and go from there…</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><a moz-do-not-send="true"
href="http://msdn2.microsoft.com/en-us/library/aa394372%28VS.85%29.aspx"
target="_blank">http://msdn2.microsoft.com/en-us/library/aa394372(VS.85).aspx</a></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">Regards,</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">Michael
B. Smith</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">MCSE/Exchange
MVP</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"><a
moz-do-not-send="true" href="http://theessentialexchange.com/"
target="_blank">http://TheEssentialExchange.com</a></span><span
style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p>
</div>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div>
<div
style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p><b><span style="font-size: 10pt; color: windowtext;">From:</span></b><span
style="font-size: 10pt; color: windowtext;"> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>
[<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">mailto:ActiveDir-owner@mail.activedir.org</a>]
<b>On Behalf Of </b>Susan Bradley, CPA aka Ebitz - SBS Rocks
[MVP]

<b>Sent:</b> Tuesday, April 29, 2008 1:01 PM

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

<b>Subject:</b> Re: [ActiveDir] [OT] BIND as Secondary DNS?</span></p>
</div>
</div>
<p> </p>
<p>I think it's what you are used to and what makes sense to your
platform.



Up here in the GUI world PowerShell is being used all around me.  SBS
is exposing it in the 2k8 era and using it for antispam cmdlets in
Exchange 2k7, move data scripting and it's being used in the backup
tasks.  IIS 7 just came out with a PowerShell platform as well.



You and your blinking c prompt server core world it's understandable :-)



Forgive the very newb question... in my platform I am looking at
PowerShell but find that the PowerShell scripting tutorials assume a
foundational knowledge of WMI, Common Information Model Standards and
what not.  What resource would you gurus say is the best one for better
understanding these foundations?







joe wrote: </p>
<p><span style="font-size: 10pt; color: blue;">Note that I am not
saying no one else should be using PoS or .NET... I am saying for me,
it hasn't made any sense to do so IMO. I actually recommend some others
to use it because it would be the quickest easiest way for them to spin
up. But when people ask me to get involved with it, I don't see the
benefit *to me* to do so and say so. This includes writing wrappers,
etc for it because people seem to think I do certain things better than
others. </span></p>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
<p><span style="font-size: 10pt; color: blue;">--</span></p>
<p><span style="font-size: 10pt; color: blue;">O'Reilly Active
Directory Third Edition - <a moz-do-not-send="true"
title="blocked::http://www.joeware.net/win/ad3e.htm"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a> </span></p>
<p> </p>
<div>
<p> </p>
</div>
<p> </p>
<div style="text-align: center;" align="center">
<hr align="center" size="2" width="100%"></div>
<p style="margin-bottom: 12pt;"><b><span style="font-size: 10pt;">From:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>
[<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">mailto:ActiveDir-owner@mail.activedir.org</a>]
<b>On Behalf Of </b>joe

<b>Sent:</b> Tuesday, April 29, 2008 12:42 PM

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

<b>Subject:</b> RE: [ActiveDir] [OT] BIND as Secondary DNS?</span></p>
<p><span style="font-size: 10pt; color: blue;">Binary, Unicode,
and large int can't be marshalled into text? How do you know that isn't
happening in the backend somewhere currently? Say some XML stream of
some sort? There is and has been a whole object passing model that has
existed for years and years and years called CORBA but the actual
implementation of that is a bit FAT for what we are talking about
because it needed to account for many things we don't care about in the
command line management world. But a similar idea slimmed down to the
specific case of passing data between two command line processes would
be nice and it could be published as a protocol instead of locking into
a specific app model. </span></p>
<p> </p>
<p><span style="font-size: 10pt; color: blue;">I think you are
happy that the data marshalling is done and you don't have to deal with
it, the fact that it is powershell or .net or anything else doesn't
really play into it. Anything given to you with the same functionality
would have been fine. It is like when people rave about PowerShell
because it lets them manage Exchange at the command line, that isn't an
argument for PowerShell, it is an argument for having anything that can
actually do what you need that didn't exist or possibly didn't know how
to do before. </span></p>
<div>
<p> </p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">I like the idea of
PowerShell, I think the .NET requirement was extremely shortsighted
considering it isn't what I would consider a first class citizen of the
OS. But I still don't see anything that PoS does for me that makes me
go, my god, I could never accomplish that any other way. Once we start
seeing kernel components written in and being run by .NET pieces
meaning perf has actually been looked at in some serious way, .NET will
start looking more attractive to me. Write now the arguments are mostly
of the variety that people gave for VB years ago and that wasn't enough
to get me to use VB either. Ditto Java. Now when Borland came out with
Borland Builder which gave me VB capability with native good c++ code,
I was all over that. </span></p>
</div>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
<p><span style="font-size: 10pt; color: blue;">--</span></p>
<p><span style="font-size: 10pt; color: blue;">O'Reilly Active
Directory Third Edition - <a moz-do-not-send="true"
title="blocked::http://www.joeware.net/win/ad3e.htm"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a> </span></p>
<p> </p>
<div>
<p> </p>
</div>
<p> </p>
<div style="text-align: center;" align="center">
<hr align="center" size="2" width="100%"></div>
<p style="margin-bottom: 12pt;"><b><span style="font-size: 10pt;">From:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>
[<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">mailto:ActiveDir-owner@mail.activedir.org</a>]
<b>On Behalf Of </b>Brandon Shell

<b>Sent:</b> Tuesday, April 29, 2008 11:05 AM

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

<b>Subject:</b> Re: [ActiveDir] [OT] BIND as Secondary DNS?</span></p>
<div>
<p>What about Binary Data? Unicode? or iADSLargeInteger. The
biggest thing you lose is ability to maintain the integrity of the
object/text throughout the pipe. Using .NET you know if you have
FileInfo object it will stay a FileInfo object until you decide to
change it. The problem isn't passing the text, it is knowing what to do
with it on the flip side. The benefit you have with the object model is
Typing. I can TYPE the data so that there is no ambiguity in the
interpretation of the "text."</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>I don't feel the need to debate the design of Powershell (that
is water under the bridge,) but the validity of the usefulness of
dealing with Objects. Ironically we both agree with the crapiness of
the s.ds.d namespace and ADSI in general, but that is a VERY small
scope for Powershell. When it comes to Dealing with Processes, Files,
WMI, and the slew of other things that Powershell Addresses from an
Admin point of view using the .NET namespace was a good idea.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>What Dushyant was talking about was, in Powershell you can
have Parameters that can be passed via the Pipe. These Parameters are
determined by Type or by Name. If it is a STRING it goes here, if it is
a DATETIME it goes there, if it is ... You get the idea. You can NOT
achieve that passing just text. It is just not feasible. Basically, I
get your point, The serialization is still done I just don't have to
deal with it. This is the draw. I don't have to worry about it. Not to
mention it is SUPER powerful. </p>
</div>
<div>
<p> </p>
</div>
<div>
<p>In regards to "<span style="color: blue;">defined this
standard passing mechanism" </span>They did... its called .NET Almost
all the stuff they needed already had pre-defined .NET classes that
could be used.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>I really respect your opinion. You have a lot of experience,
but I think in this case you have been blinded by your hatred for .NET
(albeit understandable hatred.) Could Powershell have been done
different... absolutely. Could it have been done better... absolutely.
Should they have used .NET or just a standard parsing methods... that
is converstation for you and Jeffrey Snover.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>btw... Powershell is not a shell. It is an Engine similar to
vbscript parsing engine. They just have a shell that loads Powershell.</p>
</div>
<div>
<p>On Tue, Apr 29, 2008 at 9:48 AM, joe <<a
moz-do-not-send="true" href="javascript:window.location.replace('ma'+'ilto:'+'listmail'+'@'+'joeware'+'.net')"
target="_blank">listmail@joeware.net</a>> wrote:</p>
<div>
<p><span style="font-size: 10pt; color: blue;">Give me an example
or three of things you can do that you don't think could be done
otherwise that you believe to be a function of passing info between
programs (or if you prefer, call them cmdlets) that you can't do with
passing text. And as we were discussing at the summit, these should not
be things based on two apps not speaking the same language because no
one defined a protocol for the text streaming interchang, but things
that couldn't be done period even if that was defined. As you know and
despite the incorrect assumption/comment made by Dushyant in the PoS
session, Adfind/Mod and ds* can actually communicate with each other in
great part because I allowed it and that isn't all that hard as long as
people agree on a format. But give me an example of something that
can't be done with that object passing that you feel can't be
accomplished if the agreements/protocols aren't established.</span></p>
<p> </p>
<p><span style="font-size: 10pt; color: blue;">I think we would
have been better served if MSFT had defined this standard passing
mechanism versus doing what was done. Something that wasn't solely
reliant on .NET. The .NET requirement is a silly requirement IMO.
Anyway, this wouldn't even need a whole new shell to pull off and the
foundation would have built up a lot faster and be far wider and
accepted now than it is. Again, IMO.</span></p>
<div>
<p> </p>
<p><span style="font-size: 10pt; color: blue;">  joe</span></p>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
<p><span style="font-size: 10pt; color: blue;">--</span></p>
<p><span style="font-size: 10pt; color: blue;">O'Reilly Active
Directory Third Edition - <a moz-do-not-send="true"
title="blocked::http://www.joeware.net/win/ad3e.htm"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a> </span></p>
<p> </p>
<div>
<p> </p>
</div>
<p> </p>
</div>
<div style="text-align: center;" align="center">
<hr align="center" size="2" width="100%"></div>
<div>
<p><b><span style="font-size: 10pt;">From:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>
[mailto:<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>]
<b>On Behalf Of </b>Brandon Shell</span></p>
</div>
<p><b><span style="font-size: 10pt;">Sent:</span></b><span
style="font-size: 10pt;"> Tuesday, April 29, 2008 9:34 AM </span></p>
<div>
<div>
<p><span style="font-size: 10pt;">

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

<b>Subject:</b> Re: [ActiveDir] [OT] BIND as Secondary DNS?</span></p>
</div>
</div>
<p> </p>
<div>
<div>
<div>
<p>While I still think it would be cool for you to write them...
I have S.DS.P now... That solves my immediate need so I can do the rest
:)</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>It may not be as fast as ADFind, but the flexibility of
objects will more than make up for that time lost with my ability to
process the output.</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>To be clear... I think ADFind and ADMod awesome tools and I am
very grateful for them.</p>
</div>
<div>
<p>On Tue, Apr 29, 2008 at 9:08 AM, joe <<a
moz-do-not-send="true" href="javascript:window.location.replace('ma'+'ilto:'+'listmail'+'@'+'joeware'+'.net')"
target="_blank">listmail@joeware.net</a>> wrote:</p>
<div>
<p><span style="font-size: 10pt; color: blue;">Absolutely, I just
don't consider that exploring... If I did explore that area, it would
be to work out how to write native code to interface with it. </span></p>
<div>
<p> </p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">If ya want it to
so bad... you write it. :)</span></p>
</div>
<div>
<p> </p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">   joe</span></p>
</div>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">--</span></p>
<p><span style="font-size: 10pt; color: blue;">O'Reilly Active
Directory Third Edition - <a moz-do-not-send="true"
title="blocked::http://www.joeware.net/win/ad3e.htm"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a> </span></p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;"> </span></p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">Those who can....
do. </span></p>
</div>
<div>
<p><span style="font-size: 10pt; color: blue;">Those who can't...
beg.</span></p>
</div>
<div>
<p> </p>
</div>
<p> </p>
<div style="text-align: center;" align="center">
<hr align="center" size="2" width="100%"></div>
<p><b><span style="font-size: 10pt;">From:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>
[mailto:<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>]
<b>On Behalf Of </b>Brandon Shell

<b>Sent:</b> Tuesday, April 29, 2008 9:02 AM </span></p>
<div>
<p><span style="font-size: 10pt;">

<b>To:</b> <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a></span></p>
</div>
<p style="margin-bottom: 12pt;"><b><span style="font-size: 10pt;">Subject:</span></b><span
style="font-size: 10pt;"> Re: [ActiveDir] [OT] BIND as Secondary DNS?</span></p>
<div>
<div>
<p style="margin-bottom: 12pt;"><u><span
style="color: rgb(0, 102, 204);">never stop exploring...</span></u>  :P</p>
<div>
<p>On Tue, Apr 29, 2008 at 8:50 AM, joe <<a
moz-do-not-send="true" href="javascript:window.location.replace('ma'+'ilto:'+'listmail'+'@'+'joeware'+'.net')"
target="_blank">listmail@joeware.net</a>> wrote:</p>
<p>Very funnyΏ]....



;)



  joe





Ώ] But accurate</p>
<div>
<p style="margin-bottom: 12pt;">



--

O'Reilly Active Directory Third Edition -

<a moz-do-not-send="true"
href="http://www.joeware.net/win/ad3e.htm" target="_blank">http://www.joeware.net/win/ad3e.htm</a>



</p>
</div>
<div>
<p>-----Original Message-----

From: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a></p>
</div>
<div>
<div>
<p>[mailto:<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>]
On Behalf Of Dean Wells

Sent: Tuesday, April 29, 2008 8:17 AM

To: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

Subject: RE: [ActiveDir] [OT] BIND as Secondary DNS?



Hehe ... and not entirely dissimilar to what happens when people ask joe

.NET/Powershell questions in-person; joe: can you write a wrapper ...
joe?

joe? ... where'd he go?



--

Dean Wells

MSEtechnology

t Email: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'dwells'+'@'+'msetechnology'+'.com')" target="_blank">dwells@msetechnology.com</a>

<a moz-do-not-send="true" href="http://msetechnology.com/"
target="_blank">http://msetechnology.com</a>



-----Original Message-----

From: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>

[mailto:<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>]
On Behalf Of Richard Kline

Sent: Monday, April 28, 2008 10:20 AM

To: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

Subject: RE: [ActiveDir] [OT] BIND as Secondary DNS?



First Nomination for Understatement of the Year award:



-----Original Message-----

From: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>

[mailto:<a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir-owner'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir-owner@mail.activedir.org</a>]
On Behalf Of joe

Sent: Sunday, April 27, 2008 4:28 PM

To: <a moz-do-not-send="true"
href="javascript:window.location.replace('ma'+'ilto:'+'ActiveDir'+'@'+'mail'+'.activedir')".org" target="_blank">ActiveDir@mail.activedir.org</a>

Subject: RE: [ActiveDir] [OT] BIND as Secondary DNS?



...



A DNS server that is dynamically handed its address is NOT the most
useful

device you could have on a network... ;)





 joe





List info   : <a moz-do-not-send="true"
href="http://www.activedir.org/List.aspx" target="_blank">http://www.activedir.org/List.aspx</a>

List FAQ    : <a moz-do-not-send="true"
href="http://www.activedir.org/ListFAQ.aspx" target="_blank">http://www.activedir.org/ListFAQ.aspx</a>

List archive: <a moz-do-not-send="true"
href="http://www.activedir.org/ma/default.aspx" target="_blank">http://www.activedir.org/ma/default.aspx</a>



List info   : <a moz-do-not-send="true"
href="http://www.activedir.org/List.aspx" target="_blank">http://www.activedir.org/List.aspx</a>

List FAQ    : <a moz-do-not-send="true"
href="http://www.activedir.org/ListFAQ.aspx" target="_blank">http://www.activedir.org/ListFAQ.aspx</a>

List archive: <a moz-do-not-send="true"
href="http://www.activedir.org/ma/default.aspx" target="_blank">http://www.activedir.org/ma/default.aspx</a>



List info   : <a moz-do-not-send="true"
href="http://www.activedir.org/List.aspx" target="_blank">http://www.activedir.org/List.aspx</a>

List FAQ    : <a moz-do-not-send="true"
href="http://www.activedir.org/ListFAQ.aspx" target="_blank">http://www.activedir.org/ListFAQ.aspx</a>

List archive: <a moz-do-not-send="true"
href="http://www.activedir.org/ma/default.aspx" target="_blank">http://www.activedir.org/ma/default.aspx</a></p>
</div>
</div>
</div>
<p> </p>
</div>
</div>
</div>
</div>
<p> </p>
</div>
</div>
</div>
</div>
<p> </p>
<p><span style="color: windowtext;">List info : <a
moz-do-not-send="true" href="http://www.activedir.org/List.aspx"
target="_blank">http://www.activedir.org/List.aspx</a> List FAQ : <a
moz-do-not-send="true" href="http://www.activedir.org/ListFAQ.aspx"
target="_blank">http://www.activedir.org/ListFAQ.aspx</a> List
archive: <a moz-do-not-send="true"
href="http://www.activedir.org/ma/default.aspx" target="_blank">http://www.activedir.org/ma/default.aspx</a>
</span></p>
</div>
</blockquote>
</div>
List info : <a moz-do-not-send="true"
href="http://www.activedir.org/List.aspx" target="_blank">http://www.activedir.org/List.aspx</a>
List FAQ : <a moz-do-not-send="true"
href="http://www.activedir.org/ListFAQ.aspx" target="_blank">http://www.activedir.org/ListFAQ.aspx</a>
List archive: <a moz-do-not-send="true"
href="http://www.activedir.org/ma/default.aspx" target="_blank">http://www.activedir.org/ma/default.aspx</a>
</blockquote>
</div>


</blockquote>
</body>
</html>
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
You are not authorized to post a reply.
Forums >ActiveDir Mail List Archive >List Archives > Re: Newbie learning was Re: [ActiveDir] [OT] BIND as Secondary DNS?



ActiveForums 3.7
AdventNet Banner
Friends

Friends

Namescape
Members

Members

MembershipMembership:
Latest New UserLatest:cmilte
New TodayNew Today:1
New YesterdayNew Yesterday:2
User CountOverall:4264

People OnlinePeople Online:
VisitorsVisitors:71
MembersMembers:0
TotalTotal:71

Online NowOnline Now:

Ads

Copyright 2008 ActiveDir.org
Terms Of Use