1#!/bin/sh
2
3# HARDCODED VALUES ARE SET HERE
4Pass=""
5
6# CHECK TO SEE IF VALUES WERE PASSED FOR $4, AND IF SO, ASSIGN THEM
7if [ "$4" != "" ] && [ "$Pass" == "" ]; then
8Pass=$4
9fi
10
11# Check to make sure Pass variable was passed down from Casper
12if [ "$Pass" == "" ]; then
13echo "Error: The parameter 'Pass' is blank. Please specify a value."
14exit 1
15fi
16
17# Set Variables
18CompName=$(dsconfigad -show | awk '/Computer Account/{print $NF}' | sed 's/$$//')
19
20# Get current OU of Computer Object
21OU="OU=General Business Computers,OU=####,DC=#####,DC=#####,DC=####"
22
23echo "$OU"
24
25# get machine serial number
26MAC_SERIAL_NUMBER=`ioreg -l | grep IOPlatformSerialNumber|awk '{print $4}' | cut -d " -f 2`
27echo MAC_SERIAL_NUMBER $MAC_SERIAL_NUMBER
28
29serial=$MAC_SERIAL_NUMBER
30
31# set name to machine serial number
32scutil --set ComputerName $serial
33scutil --set HostName $serial
34scutil --set LocalHostName $serial
35
36sleep 2
37
38 ## Begin rebinding process
39
40 #Basic variables
41 computerid=`scutil --get LocalHostName`
42 domain=c##
43 udn=#
44
45 #Advanced variables
46 alldomains="disable"
47 localhome="enable"
48 protocol="smb"
49 mobile="enable"
50 mobileconfirm="disable"
51 user_shell="/bin/bash"
52 admingroups="CorpHelpdesk Operator"
53 namespace="domain"
54 packetsign="allow"
55 packetencrypt="allow"
56 useuncpath="disable"
57 passinterval="30"
58
59 # Bind to AD
60 dsconfigad -add $domain -alldomains $alldomains -username $udn -password $Pass -computer $computerid -ou "$OU" -force -packetencrypt $packetencrypt
61 sleep 1
62 echo "Rebinding to AD and setting advanced options"
63
64 #set advanced options
65 dsconfigad -localhome $localhome
66 sleep 1
67 dsconfigad -groups "$admingroups"
68 sleep 1
69 dsconfigad -mobile $mobile
70 sleep 1
71 dsconfigad -mobileconfirm $mobileconfirm
72 sleep 1
73 dsconfigad -alldomains $alldomains
74 sleep 1
75 dsconfigad -useuncpath "$useuncpath"
76 sleep 1
77 dsconfigad -protocol $protocol
78 sleep 1
79 dsconfigad -shell $user_shell
80 sleep 1
81 dsconfigad -passinterval $passinterval
82 sleep 1
83
84 #dsconfigad adds "All Domains"
85 # Set the search paths to "custom"
86 dscl /Search -create / SearchPolicy CSPSearchPath
87 dscl /Search/Contacts -create / SearchPolicy CSPSearchPath
88
89 sleep 1
90
91 # Add the "corpXXXXXX" search paths
92 dscl /Search -append / CSPSearchPath "/Active Directory/CORP/#####"
93 dscl /Search/Contacts -append / CSPSearchPath "/Active Directory/CORP/#####"
94
95
96 sleep 1
97
98 # Restart opendirectoryd
99 killall opendirectoryd
100 sleep 5
101
102
103exit 0