|
|
Table of Contents |
|
FunctionsFunctions are one of the workhorses of any script. They perform operations of some kind, and return some kind of result back to the main script. For example, VBScript has a built-in function called Date() that simply returns the current date. There are built-in functions and custom functions that you write. The only difference between them, of course, is that Microsoft wrote the built-in functions and you write your custom ones. The sample login script has a couple of custom functions.
Function GetIP()
Set myObj = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}" & _
"!//localhost".ExecQuery _
("select IPAddress from " & _
"Win32_NetworkingAdapterConfiguration" & _
" where IPEnabled=TRUE")
'Go through the addresses
For Each IPAddress in myObj
If IPAddress.IPAddress(0) <> "0.0.0.0" Then
LocalIP = IPAddress.IPAddress(0)
Exit For
End If
Next
GetIP = LocalIP
End Function
Function IsMemberOf(sGroupName)
Set oNetwork = CreateObject("WScript.Network")
sDomain = oNetwork.UserDomain
sUser = oNetwork.UserName
bIsMember = False
Set oUser = GetObject("WinNT://" & sDomain & "/" & _
sUser & ",user")
For Each oGroup In oUser.Groups
If oGroup.Name = sGroupName Then
bIsMember = True
Exit For
End If
Next
IsMemberOf = bIsMember
End Function
You'll notice that these all begin with the declaration Function, followed by the name of the function. They can include a list of input parameters, as the IsMemberOf function does. All of them return some information, too. Notice that the last line of each function sets the function name equal to some other variable; this action returns that other variable's value as the result of the function. If this is not making sense, don't worry. For now, just make sure you can recognize a function at 30 feet by the keyword Function. I cover functions in more detail in Chapter 5, in the section, "What Are Functions?" Why use functions? Well, in the case of intrinsic functions, they perform a very valuable service, providing information like the date and time, and allowing you to manipulate data. Custom functions do the same thing. Custom functions, however, can be a lot more useful in the end. Take the IsMemberOf function as an example. That function tells me if the current user is a member of a specific domain user group or not. It took me a couple of hours to figure out how to perform that little trick. In the future, though, I can just paste the function into whatever script I need, and I'll never have to spend those couple of hours again. Bundling the task into a function makes it easily portable between scripts, and allows me to easily reuse my hard work. |
|
|
Table of Contents |
|