Hi Richard,
Sorry no luck at all here and no .CSV
Sorry to be a pain but im really new to scripting and am still trying to
understand it.
Here is my code run from a DC, (Uppercase are the parts i have changed)
' Prompt for group names and construct the filter.
strCN = ""
strFilter = "(|"
Do
strCN = InputBox("Enter Common Name of a group or Cancel", "GET STU
Details")
If (strCN <> "") Then
strFilter = strFilter & "(memberOf=cn=" & strCN _
& ",ou=MYOU,dc=DOMAIN,dc=co,dc=uk)"
End If
Loop While strCN <> ""
strFilter = strFilter & ")"
' Use the WshShell object to run the csvde command.
If strFilter <> "(|)" Then
Set objShell = CreateObject("Wscript.Shell")
strCmd = "%comspec% /c csvde -f e:\get-group\GroupMembers.csv -r " &
strFilter
strCmd = strCmd & " -l
sAMAccountName,givenName,physicalDeliveryOfficeNam e,memberOf"
strCmd = strCmd & "-s SERVER.DOMAIN.co.uk"
objShell.Run strCmd
End If
It looks like CSVDE is not running my feeling is because the group names
(from the prompt option) are not being passed.
Can he hardcode a group name into the script to check (H024)
If your code works can you repost your working version.
Kr
Paul
"Richard Mueller [MVP]" wrote:
> I never even checked the syntax of the command. The "-s" is missing when you
> specify a DC. Watch line wrapping:
>
> strCmd = "%comspec% /c csvde -f c:\get-group\GroupMembers.csv -r " &
> strFilter
> strCmd = strCmd & " -l
> sAMAccountName,givenName,physicalDeliveryOfficeNam e,memberOf "
> strCmd = strCmd & "-s SERVER.DOM.co.uk"
>
> I tested the script and it worked for me. It must be run on a DC. I had to
> modify the Distinguished Names for my domain. I also had to modify the file
> path.
>
> --
> Richard Mueller
> Microsoft MVP Scripting and ADSI
> Hilltop Lab - http://www.rlmueller.net
> --
>
> "PK" <PK@discussions.microsoft.com> wrote in message
> news:FF4AF153-7182-41DE-9BBA-9E2070497467@microsoft.com...
> > Sorry richard still nothing...
> > Tried the \k in place of the \c and did show any error
> >
> > Paul
> >
> > "Richard Mueller [MVP]" wrote:
> >
> >> I see I forgot the -f in my example:
> >>
> >> strCmd = "%comspec% /c csvde -f c:\get-group\GroupMembers.csv -r " &
> >> strFilter
> >>
> >> If there is an error in the command passed to the Run method, you won't
> >> see
> >> it. (unless you use /k instead of /c in the command). You can have the
> >> script echo the final value of the variable strCmd, so you can tell if it
> >> is
> >> a valid command. It can be hard to get all the spaces, commas, dashes,
> >> etc.
> >> correct. I built the value assigned to strCmd in several steps to avoid
> >> line
> >> wrapping.
> >>
> >> --
> >> Richard Mueller
> >> Microsoft MVP Scripting and ADSI
> >> Hilltop Lab - http://www.rlmueller.net
> >> --
> >> "PK" <PK@discussions.microsoft.com> wrote in message
> >> news:5DBCC75A-C00F-419E-925D-8E92E2B9C924@microsoft.com...
> >> > Richard
> >> >
> >> > Got the script to run no errors occour.
> >> > However no CSV is generated, nor output made.
> >> >
> >> > Paul
> >> >
> >> > "PK" wrote:
> >> >
> >> >> Hi Richard
> >> >>
> >> >> The "H" represents the current year of students. Eg next year will be
> >> >> "I"
> >> >> the groups are always 4 digits long EG I301 H508
> >> >>
> >> >> Heres the over all of what i need to acomplish.
> >> >> my -I commmands are a little over anxious and were in use for other
> >> >> quiries
> >> >> testing.
> >> >>
> >> >> In this instance i realy only need forename (LDAP= givenName) to be
> >> >> generated to the .csv it should automatically go in coloum B as DN
> >> >> ocupies
> >> >> column (A by default it seems).
> >> >> then i need to delete Column A
> >> >> and run a formula against the remainig data.
> >> >> so i can generate first 3 letters of forename in lowercase and that is
> >> >> all
> >> >> that is left in my .csv file
> >> >>
> >> >> This will then be used in conjunction with a password generator to
> >> >> output:
> >> >>
> >> >> 2 numbers and a special caracter.
> >> >> then auto save this as a .txt file.
> >> >>
> >> >> My developers have written an app which will import the data left over
> >> >> to
> >> >> a
> >> >> field in AD and resep the password aswell
> >> >>
> >> >> Thanks for all your assistance im learning loads powerfull tools..!
> >> >> Paul
> >> >>
> >> >> "Richard Mueller [MVP]" wrote:
> >> >>
> >> >> > You can prompt in vb or VBScript. The trick is how to prompt for
> >> >> > multiple
> >> >> > values. Do you always prompt for 4 values, or keep prompting until
> >> >> > the
> >> >> > user
> >> >> > enters a blank? Do you assume the parent container/OU of the groups?
> >> >> > Do
> >> >> > you
> >> >> > prompt for Common Name or just a 3 digit number and append "H" to
> >> >> > it.
> >> >> > An
> >> >> > example could be (not tested):
> >> >> >
> >> >> > ' Prompt for group names and construct the filter.
> >> >> > strCN = ""
> >> >> > strFilter = "(|"
> >> >> > Do
> >> >> > strCN = InputBox("Enter Common Name of a group or Cancel",
> >> >> > "Test")
> >> >> > If (strCN <> "") Then
> >> >> > strFilter = strFilter & "(memberOf=cn=" & strCN _
> >> >> > & ",ou=mygp,dc=mydom,dc=co,dc=uk)"
> >> >> > End If
> >> >> > Loop While strCN <> ""
> >> >> >
> >> >> > strFilter = strFilter & ")"
> >> >> >
> >> >> > ' Use the WshShell object to run the csvde command.
> >> >> > If strFilter <> "(|)" Then
> >> >> > Set objShell = CreateObject("Wscript.Shell")
> >> >> > strCmd = "%comspec% /c csvde c:\get-group\GroupMembers.csv -r "
> >> >> > &
> >> >> > strFilter
> >> >> > strCmd = strCmd & " -l
> >> >> > sAMAccountName,givenName,physicalDeliveryOfficeNam e,memberOf "
> >> >> > strCmd = strCmd & "-SERVER.DOM.co.uk"
> >> >> > objShell.Run strCmd
> >> >> > End If
> >> >> >
> >> >> > --
> >> >> > Richard Mueller
> >> >> > Microsoft MVP Scripting and ADSI
> >> >> > Hilltop Lab - http://www.rlmueller.net
> >> >> > --
> >> >> >
> >> >> > "PK" <PK@discussions.microsoft.com> wrote in message
> >> >> > news:2F8920ED-31C0-403A-A615-A348A5A8CF45@microsoft.com...
> >> >> > > Rich can this be built in to VB some how..?
> >> >> > >
> >> >> > > with like a window to promps for group numbers..?
> >> >> > >
> >> >> > > other than that works a charm
> >> >> > >
> >> >> > > "Richard Mueller [MVP]" wrote:
> >> >> > >
> >> >> > >> Paul wrote:
> >> >> > >>
> >> >> > >> > I got the below to work ok, ( I can also export the entire OU)
> >> >> > >> >
> >> >> > >> > csvde -f C:\Get-Group\GroupMembers.csv -r
> >> >> > >> > "memberOf=cn=H050,ou=mygp,dc=mydom,dc=co,dc=uk " -l
> >> >> > >> > "sAMAccountName,givenName,physicalDeliveryOfficeNa me,memberOf"
> >> >> > >> > -SERVER.DOM.co.uk
> >> >> > >> >
> >> >> > >> > But i need to export all members of just 4 groups (from the
> >> >> > >> > same
> >> >> > >> > OU)
> >> >> > >> > Not
> >> >> > >> > just H050 ie i need to include H051 H052 H053 also..
> >> >> > >> >
> >> >> > >> > Any options \ideas.
> >> >> > >> >
> >> >> > >>
> >> >> > >> The syntax for the filter would be (watch line wrapping):
> >> >> > >>
> >> >> > >> -r
> >> >> > >> "(|(memberOf=cn=H050,ou=mygp,dc=mydom,dc=co,dc=uk) (memberOf=cn=H051,ou=mygp,dc=mydom,dc=co,dc=uk)(me mberOf=cn=H052,ou=mygp,dc=mydom,dc=co,dc=uk)(membe rOf=cn=H053,ou=mygp,dc=mydom,dc=co,dc=uk))"
> >> >> > >>
> >> >> > >> Wildcards are not allowed and you must specify the full
> >> >> > >> distinguished
> >> >> > >> names.
> >> >> > >> The "|" (pipe symbol) is the "OR" operator.
> >> >> > >>
> >> >> > >> --
> >> >> > >> Richard Mueller
> >> >> > >> Microsoft MVP Scripting and ADSI
> >> >> > >> Hilltop Lab - http://www.rlmueller.net
> >> >> > >> --
> >> >> > >>
> >> >> > >>
> >> >> > >>
> >> >> >
> >> >> >
> >> >> >
> >>
> >>
> >>
>
>
>