#57879 - 2001-08-02 06:43 PM
Kixtart and group membership
|
Anonymous
Anonymous
Unregistered
|
Good day I am working on a script to map printers by group membership. The script runs great when using userid to check group membership. In windows 2000 you can assign computer accounts to groups does anyone know how to check is a computer account is a member of a group. I want to map printers by computer accounts being a member of a group. The printer script I have my username groupmembership is below if anyone has any ideas that would be great Steve ;--------------------------Heading-------------------------------------- ;** ;** Script: Default Printer Mappin ;** Version: 1.0 ;** Created: Wednesday -August 1, 2001 ;** ;** Author: Steve Beaver ;** E-mail: steve.beaver@cibc.com ;** ;----------------------------------------------------------------------- $printsrv="\\MTLFP1\" $defprinter="" if ingroup("APRN1") $defprinter=($printsrv+"PRN1") gosub "printcheck" endif if ingroup("APRN2") $defprinter=($printsrv+"PRN2") gosub "printcheck" endif if ingroup("APRN3") $defprinter=($printsrv+"PRN3") gosub "printcheck" endif if ingroup("APRN4") $defprinter=($printsrv+"PRN4") gosub "printcheck" endif if ingroup("APRN5") $defprinter=($printsrv+"PRN5") gosub "printcheck" endif if ingroup("APRN6") $defprinter=($printsrv+"PRN6") gosub "printcheck" endif if ingroup("APRN7") $defprinter=($printsrv+"PRN7") gosub "printcheck" endif if ingroup("APRN8") $defprinter=($printsrv+"PRN8") gosub "printcheck" endif if ingroup("APRN9") $defprinter=($printsrv+"PRN9") gosub "printcheck" endif if ingroup("APRN10") $defprinter=($printsrv+"PRN10") gosub "printcheck" endif if ingroup("APRN11") $defprinter=($printsrv+"PRN11") gosub "printcheck" endif if ingroup("APRN12") $defprinter=($printsrv+"PRN12") gosub "printcheck" endif if ingroup("APRN13") $defprinter=($printsrv+"PRN13") gosub "printcheck" endif if ingroup("APRN14") $defprinter=($printsrv+"PRN14") gosub "printcheck" endif if ingroup("APRN15") $defprinter=($printsrv+"PRN15") gosub "printcheck" endif if ingroup("APRN16") $defprinter=($printsrv+"PRN16") gosub "printcheck" endif if ingroup("APRN17") $defprinter=($printsrv+"PRN17") gosub "printcheck" endif if ingroup("APRN18") $defprinter=($printsrv+"PRN18") gosub "printcheck" endif if ingroup("APRN19") $defprinter=($printsrv+"PRN19") gosub "printcheck" endif
SELECT CASE ingroup("PRN1") $defprinter=($printsrv+"PRN1") CASE ingroup("PRN2") $defprinter=($printsrv+"PRN2") CASE ingroup("PRN3") $defprinter=($printsrv+"PRN3") CASE ingroup("PRN4") $defprinter=($printsrv+"PRN4") CASE ingroup("PRN5") $defprinter=($printsrv+"PRN5") CASE ingroup("PRN6") $defprinter=($printsrv+"PRN6") CASE ingroup("PRN7") $defprinter=($printsrv+"PRN7") CASE ingroup("PRN8") $defprinter=($printsrv+"PRN8") CASE ingroup("PRN9") $defprinter=($printsrv+"PRN9") CASE ingroup("PRN10") $defprinter=($printsrv+"PRN10") CASE ingroup("PRN11") $defprinter=($printsrv+"PRN11") CASE ingroup("PRN12") $defprinter=($printsrv+"PRN12") CASE ingroup("PRN13") $defprinter=($printsrv+"PRN13") CASE ingroup("PRN14") $defprinter=($printsrv+"PRN14") CASE ingroup("PRN15") $defprinter=($printsrv+"PRN15") CASE ingroup("PRN16") $defprinter=($printsrv+"PRN16") CASE ingroup("PRN17") $defprinter=($printsrv+"PRN17") CASE ingroup("PRN18") $defprinter=($printsrv+"PRN18") CASE ingroup("PRN19") $defprinter=($printsrv+"PRN19") ENDSELECT if $defprinter<>"" $printerexists=0 $lptprinter=0 $index=0 rintloop $printer=enumvalue("$HKCUSMWNTCV\PrinterPorts",$index) $printerport=readvalue("$HKCUSMWNTCV\PrinterPorts","$printer") if @error=0 if $printer=$defprinter $printerexists=1 endif if instr("$printerport","LPT") $lptprinter=1 endif $index=$index+1 goto printloop endif if $printerexists=0 $=addprinterconnection("$defprinter") if $lptprinter=0 $=setdefaultprinter("$defprinter") endif endif endif exit rintcheck if $defprinter<>"" $printerexists=0 $lptprinter=0 $index=0 rintloop $printer=enumvalue("$HKCUSMWNTCV\PrinterPorts",$index) $printerport=readvalue("$HKCUSMWNTCV\PrinterPorts","$printer") if @error=0 if $printer=$defprinter $printerexists=1 endif if instr("$printerport","LPT") $lptprinter=1 endif $index=$index+1 goto printloop endif if $printerexists=0 $=addprinterconnection("$defprinter") if $lptprinter=0 $=setdefaultprinter("$defprinter") endif endif endif RETURN
|
|
Top
|
|
|
|
#57881 - 2002-07-31 06:39 PM
Re: Kixtart and group membership
|
JasLC
Fresh Scripter
Registered: 2002-05-29
Posts: 39
Loc: Fort Worth
|
Kent, I cannot navigate to your link. Where can I find the answer to Steve's question? I am facing the same issue and would like a script to check group membership of the current computer through a login script to install printers.
Thanks! Jason
|
|
Top
|
|
|
|
#57882 - 2002-07-31 06:47 PM
Re: Kixtart and group membership
|
MCA
KiX Supporter
   
Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
|
Dear,
Kent has change his address. New URL http://kentldyer.com/ Other changes in all kind of URLs are possible. Some kixtart/scripting related URL are updated in our "Links to Favorite Sites" page. Also it is possible to look at the user profile, which contains mostly the actual one. The most active members with direct profile links can be find on our page Statistics - BB Specials. greetings. [ 31 July 2002, 18:58: Message edited by: MCA ]
|
|
Top
|
|
|
|
#57884 - 2002-07-31 07:00 PM
Re: Kixtart and group membership
|
MCA
KiX Supporter
   
Registered: 2000-04-28
Posts: 5152
Loc: Netherlands, EU
|
Dear,
Indeed. Kent didn't migrate the forum to his site. Possible that he can find the specific information back. greetings.
|
|
Top
|
|
|
|
#57885 - 2002-07-31 08:25 PM
Re: Kixtart and group membership
|
JasLC
Fresh Scripter
Registered: 2002-05-29
Posts: 39
Loc: Fort Worth
|
I've got a VBscript that may perform this function, but I don't know how to rewrite it. What would the following look like in Kixtart?
code:
Set objWshNetwork = WScript.CreateObject("WScript.Network") Set objWshShell = WScript.CreateObject("WScript.Shell") set objADSysInfo = CreateObject("ADSystemInfo") strComputerName = objWshNetwork.ComputerName strComputerDN = objADSysInfo.computername
set objGroup = GetObject("LDAP://CN=GroupName,OU=GroupOU,DC=Domain,DC=com")
If objGroup.IsMember("LDAP://" & strComputerDN) Then WshShell.run "rundll32 printui.dll,PrintUIEntry /ga /c \\" & strComputerName & " /n <\\printserver\sharedprintername>" End If
Thanks! Jason
|
|
Top
|
|
|
|
#57889 - 2002-08-01 05:41 PM
Re: Kixtart and group membership
|
JasLC
Fresh Scripter
Registered: 2002-05-29
Posts: 39
Loc: Fort Worth
|
Code:
code:
$objWshNetwork=CreateObject("WScript.Network") $objWshShell=CreateObject("WScript.Shell") $objADSysInfo = CreateObject("ADSystemInfo") $strComputerName = $objWshNetwork.ComputerName $strComputerDN = $objADSysInfo.computername $objGroup=GetObject("LDAP://CN=GroupName,OU=GroupOU,DC=Domain,DC=com") If $objGroup.IsMember("LDAP://"+$strComputerDN) run "rundll32 printui.dll,PrintUIEntry /ga /c \\$strComputerName"+" /n <\\printserver\sharedprintername>" EndIf
The above line's functionality: "$objGroup=GetObject("LDAP://CN=GroupName,OU=GroupOU,DC=Domain,DC=com")" is incorrect.
Issue: I need code that will get ALL of the group memberships for the specific computer.
Functionality: The computer will boot up, authenticate to AD, read its appropriate Group Policy, run the login script, then the login script will check all of the groups it is a member of. Once it gets this group membership, then it will install specific printers based upon group membership, as shown in the above code.
Does anyone know how to do this???
MANY thanks! Jason
|
|
Top
|
|
|
|
#57891 - 2002-08-01 09:08 PM
Re: Kixtart and group membership
|
JasLC
Fresh Scripter
Registered: 2002-05-29
Posts: 39
Loc: Fort Worth
|
Chris,
I am only wanting to implement this for Windows 2000 clients.
-Jason
|
|
Top
|
|
|
|
#57892 - 2002-08-01 09:11 PM
Re: Kixtart and group membership
|
Kdyer
KiX Supporter
   
Registered: 2001-01-03
Posts: 6241
Loc: Tigard, OR
|
Jason,
Sorry I did not get back with you sooner on this.
The board had closed about 6 weeks ago (as I remember).. However, it does look like you have a solution in hand?
Thanks,
Kent
|
|
Top
|
|
|
|
#57895 - 2002-08-05 08:16 PM
Re: Kixtart and group membership
|
JasLC
Fresh Scripter
Registered: 2002-05-29
Posts: 39
Loc: Fort Worth
|
Chris and sealeopard...
to my knowledge, INGROUP does not recognize machine accounts within groups.
-Jason
|
|
Top
|
|
|
|
Moderator: Glenn Barnas, NTDOC, Arend_, Jochen, Radimus, Allen, ShaneEP, Ruud van Velsen, Mart
|
0 registered
and 988 anonymous users online.
|
|
|