You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
687 lines
24 KiB
687 lines
24 KiB
<%
|
|
'-------------------------------------------------------------------------
|
|
' nfsgeneral_prop.asp: display and update general properties of the
|
|
' NFS User and Group Mappings
|
|
'
|
|
' Copyright (c) Microsoft Corporation. All rights reserved.
|
|
'
|
|
' Date Description
|
|
' 25 Sep 2000 Creation Date
|
|
'-------------------------------------------------------------------------
|
|
|
|
Err.Clear
|
|
On Error resume next
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Form Variables
|
|
'-------------------------------------------------------------------------
|
|
Dim F_strGen_NisDomain ' to store the NIS domain name
|
|
Dim F_strGen_NisServer ' to store the NIS server name
|
|
Dim F_intGen_RefreshHours ' to store the Refresh Interval Hours
|
|
Dim F_intGen_RefreshMinutes ' to store the Refresh Interval Minutes
|
|
Dim F_strGen_PasswdFile ' to store the password file
|
|
Dim F_strGen_GroupFile ' to store the group file
|
|
Dim F_intGen_SelectedRadio ' to store the value of the radio selected
|
|
Dim F_intGen_RefreshInterval ' to store the Refresh Interval
|
|
' Hours + Minutes In Minutes to set in wmi
|
|
Dim F_strUseNISServer_RadioStatus ' status of "Use Nis" radio
|
|
Dim F_strUsePasswdGroupFiles_RadioStatus ' status of "Use files" radio
|
|
|
|
'-------------------------------------------------------------------------
|
|
'Constants
|
|
'-------------------------------------------------------------------------
|
|
Const CONST_RADIO_CHECKED_STATUS = "CHECKED"
|
|
Const CONST_RADIO_NOT_CHECKED_STATUS = ""
|
|
Const CONST_RADIO_USE_NISSERVER = 1
|
|
Const CONST_RADIO_USE_PASSWD_GROUPFILES = 0
|
|
' objects and wmi related constants
|
|
Const WMI_SFUADMIN_NAMESPACE = "root\SFUAdmin"
|
|
Const WMI_MAPPER_SETTINGS_CLASS = "Mapper_Settings"
|
|
Const FILE_SYSTEM_OBJECT = "Scripting.Filesystemobject"
|
|
%>
|
|
<SCRIPT LANGUAGE="JavaScript">
|
|
//<!--
|
|
var JS_CONST_USE_NISSERVER = 1
|
|
var JS_CONST_USE_FILES = 0
|
|
|
|
// Set the initial form values
|
|
function GenInit()
|
|
{
|
|
// get the selected radio value
|
|
var intRadioSelected = document.frmTask.hdnintGen_UserGroupMap_radio.value;
|
|
|
|
// enable or disable values depending on the radio selected
|
|
setFormFieldsStatus(parseInt(intRadioSelected,10));
|
|
|
|
}// end of GenInit()
|
|
|
|
// validates the form values when the user clicks
|
|
// on another tab(to go to diferent page) OR clicks OK(to set the values)
|
|
// if any value is not valid, this displays error message and
|
|
// remains in the same page
|
|
function GenValidatePage()
|
|
{
|
|
// get the form handle into a variable
|
|
var objGenForm = eval("document.frmTask");
|
|
|
|
// accept the form values in variables to validate them
|
|
var intHours = parseInt(objGenForm.txtGen_RefreshHours.value,10);
|
|
var intMinutes = parseInt(objGenForm.txtGen_RefreshMinutes.value,10);
|
|
var intRadioValue = parseInt(objGenForm.hdnintGen_UserGroupMap_radio.value,10);
|
|
|
|
// minutes cannot be greater than 59
|
|
if(intMinutes > 59)
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_MINUTES_NOTVALID_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_RefreshMinutes);
|
|
return false;
|
|
}
|
|
|
|
// if both hours and minutes are null, display error
|
|
// minumum value of refresh interval is 5 min
|
|
if(isNaN(intHours) && isNaN(intMinutes))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_MINIMUM_INTERVAL_REQUIRED_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_RefreshMinutes);
|
|
return false;
|
|
}
|
|
|
|
// minumum value of refresh interval is 5 min
|
|
if ((isNaN(intHours) || (intHours == 0)) && (intMinutes < 5))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_MINIMUM_INTERVAL_REQUIRED_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_RefreshMinutes);
|
|
return false;
|
|
}
|
|
|
|
// if PCNFS is selected, validate the file names
|
|
if(intRadioValue == JS_CONST_USE_FILES)
|
|
{
|
|
var passwordFile = objGenForm.txtGen_PasswdFile.value;
|
|
var groupFile = objGenForm.txtGen_GroupFile.value;
|
|
|
|
// check if the file name is empty
|
|
if(IsAllSpaces(passwordFile))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_PASSWORDFILENAME_EMPTY_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_PasswdFile);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
// the password file name is not empty
|
|
// Verify if the file name is valid
|
|
if(!isValidFileName(passwordFile))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_PASSWORDFILENAME_INVALID_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_PasswdFile);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// check if the group file name is empty
|
|
if(IsAllSpaces(groupFile))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_GROUPFILENAME_EMPTY_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_GroupFile);
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
// the group file name is not empty
|
|
// verify if the file name is valid
|
|
if(!isValidFileName(groupFile))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_GROUPFILENAME_INVALID_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_GroupFile);
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
// if NIS domain is given, validate if the fields are empty
|
|
if(intRadioValue == JS_CONST_USE_NISSERVER)
|
|
{
|
|
var strNISDomain = objGenForm.txtGen_NISDomain.value;
|
|
|
|
// the domain name must not be empty
|
|
if(IsAllSpaces(strNISDomain))
|
|
{
|
|
DisplayErr("<%=Server.HTMLEncode(L_NISDOMAIN_EMPTY_ERRORMESSAGE)%>");
|
|
selectFocus(objGenForm.txtGen_NISDomain);
|
|
return false;
|
|
}
|
|
|
|
// the nis server value is optional. No validations required for it.
|
|
}
|
|
|
|
// update all the hidden variables as user might have clicked on a
|
|
// different tab or clicked OK
|
|
UpdateGenHiddenVaribles();
|
|
|
|
// all values are valid. Hidden values are also updated. Return True
|
|
return true;
|
|
|
|
}// end of GenValidatePage()
|
|
|
|
// dummy function for framework
|
|
function GenSetData()
|
|
{
|
|
// all the hidden variables are set in the
|
|
// GenValidatePage() function. No data to set here.
|
|
|
|
} // end of GenSetData()
|
|
|
|
// to update the hidden variables
|
|
function UpdateGenHiddenVaribles()
|
|
{
|
|
// get the form handle into a variable
|
|
var objGenForm = eval("document.frmTask");
|
|
|
|
// take the values to variables for easy access
|
|
var objRadio = objGenForm.radGen_UserGroupMap;
|
|
var intHours = parseInt(objGenForm.txtGen_RefreshHours.value,10);
|
|
var intMinutes = parseInt(objGenForm.txtGen_RefreshMinutes.value,10);
|
|
|
|
// if hours is blank, assign 0
|
|
if (isNaN(intHours))
|
|
{
|
|
intHours = 0;
|
|
}
|
|
// if minutes is blank, assign 0
|
|
if (isNaN(intMinutes))
|
|
{
|
|
intMinutes = 0;
|
|
}
|
|
|
|
// populate the hidden fields
|
|
|
|
// assign the radio button value
|
|
objGenForm.hdnintGen_UserGroupMap_radio.value = getRadioButtonValue(objRadio);
|
|
|
|
// update the nis domain and server values
|
|
objGenForm.hdntxtGen_NISDomain.value = objGenForm.txtGen_NISDomain.value.toLowerCase();
|
|
objGenForm.hdntxtGen_NISServer.value = objGenForm.txtGen_NISServer.value.toLowerCase();
|
|
|
|
// assign the refresh interval converting it into minutes
|
|
objGenForm.hdntxtGen_RefreshInterval.value = ((intHours * 60)+ intMinutes);
|
|
|
|
// update the file names
|
|
objGenForm.hdntxtGen_PasswdFile.value = objGenForm.txtGen_PasswdFile.value;
|
|
objGenForm.hdntxtGen_GroupFile.value = objGenForm.txtGen_GroupFile.value;
|
|
|
|
}// end of UpdateGenHiddenVaribles()
|
|
|
|
// enable or disable the form fields
|
|
function setFormFieldsStatus(intRadioValue)
|
|
{
|
|
|
|
// take the form handle into a variable
|
|
var objGenForm = eval("document.frmTask");
|
|
|
|
// update the hidden form field
|
|
objGenForm.hdnintGen_UserGroupMap_radio.value = intRadioValue;
|
|
|
|
// if the nis domain radio is selected
|
|
if(intRadioValue == JS_CONST_USE_NISSERVER)
|
|
{
|
|
// disable the password and group files
|
|
objGenForm.txtGen_PasswdFile.disabled = true;
|
|
objGenForm.txtGen_GroupFile.disabled = true;
|
|
|
|
// enable the nis domain and server
|
|
objGenForm.txtGen_NISDomain.disabled = false;
|
|
objGenForm.txtGen_NISServer.disabled = false;
|
|
objGenForm.txtGen_RefreshHours.disabled = false;
|
|
objGenForm.txtGen_RefreshMinutes.disabled = false;
|
|
}
|
|
else
|
|
{
|
|
// if PCNFS is selected
|
|
if(intRadioValue == JS_CONST_USE_FILES)
|
|
{
|
|
// enable the password and group files
|
|
objGenForm.txtGen_PasswdFile.disabled = false;
|
|
objGenForm.txtGen_GroupFile.disabled = false;
|
|
|
|
// disable the nis domain and server
|
|
objGenForm.txtGen_NISDomain.disabled = true;
|
|
objGenForm.txtGen_NISServer.disabled = true;
|
|
objGenForm.txtGen_RefreshHours.disabled = true;
|
|
objGenForm.txtGen_RefreshMinutes.disabled = true;
|
|
}
|
|
else
|
|
{
|
|
// if either radio is not selected, disable all form fields
|
|
// this case must not arise
|
|
objGenForm.txtGen_NISDomain.disabled = true;
|
|
objGenForm.txtGen_NISServer.disabled = true;
|
|
objGenForm.txtGen_PasswdFile.disabled = true;
|
|
objGenForm.txtGen_GroupFile.disabled = true;
|
|
objGenForm.txtGen_RefreshHours.disabled = true;
|
|
objGenForm.txtGen_RefreshMinutes.disabled = true;
|
|
DisableOK();
|
|
|
|
} // end of if(intRadioValue == JS_CONST_USE_FILES)
|
|
|
|
} // end of if(intRadioValue == JS_CONST_USE_NISSERVER)
|
|
|
|
} // end of setFormFieldsStatus(intRadioValue)
|
|
|
|
//-->
|
|
</SCRIPT>
|
|
|
|
<%
|
|
'-------------------------------------------------------------------------
|
|
' Function name: ServeGenPage(ByRef PageIn, ByVal bIsVisible)
|
|
' Description: Serves in displaying the page Header, Middle and
|
|
' Footer Parts (the User Interface)
|
|
' Input Variables: PageIn
|
|
' bIsVisible - the tab page be displayed?
|
|
' Output Variables: None
|
|
' Returns: None
|
|
' Global Variables: L_(*) - Localization content
|
|
' F_(*) - Form Variables
|
|
'-------------------------------------------------------------------------
|
|
Function ServeGenPage(ByRef PageIn, ByVal bIsVisible)
|
|
On Error Resume Next
|
|
Err.Clear
|
|
|
|
If bIsVisible Then
|
|
%>
|
|
|
|
<TABLE WIDTH=400 VALIGN=middle ALIGN=left BORDER=0 CELLSPACING=0 CELLPADDING=1>
|
|
<TR>
|
|
<TD class="TasksBody" align="right" width="5%">
|
|
<INPUT type="radio" Class="FormField" value="1" name="radGen_UserGroupMap" <%=F_strUseNISServer_RadioStatus%> onClick="JavaScript:ClearErr();setFormFieldsStatus(parseInt(this.value,10));">
|
|
</TD>
|
|
<TD class="TasksBody" width="20%">
|
|
<%=L_USE_NIS_SERVER_LABEL_TEXT%>
|
|
</TD>
|
|
<TD class="TasksBody" align="left">
|
|
|
|
<!-- TD left empty to complete the table.
|
|
The width is mentioned only in the above two TD's.
|
|
As width is mentioned, colspan = 2 is not used above.
|
|
-->
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody">
|
|
<%=L_NIS_DOMAIN_LABEL_TEXT%>
|
|
</TD>
|
|
<TD class="TasksBody" align="left">
|
|
<INPUT type="text" Class="FormField" name="txtGen_NISDomain" size="25" value="<%=Server.HTMLEncode(F_strGen_NisDomain)%>" OnKeyDown="JavaScript:ClearErr();">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody" nowrap>
|
|
<%=L_NIS_SERVER_LABEL_TEXT%>
|
|
</TD>
|
|
<TD class="TasksBody" align="left">
|
|
<INPUT type="text" Class="FormField" name="txtGen_NISServer" size="25" value="<%=Server.HTMLEncode(F_strGen_NisServer)%>" OnKeyDown="JavaScript:ClearErr();">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody" colspan=2>
|
|
<%=L_REFRESH_INTERVAL_NOTE_TEXT%>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody" colspan=2>
|
|
<INPUT type="text" Class="FormField" name="txtGen_RefreshHours" size="4" maxlength=4 OnKeyPress=checkKeyforNumbers(this) value="<%=F_intGen_RefreshHours%>" OnKeyDown="JavaScript:ClearErr();"> <%=L_NFS_HOURS_TEXT%>
|
|
|
|
<INPUT type=text Class="FormField" name="txtGen_RefreshMinutes" size="4" maxlength=2 OnKeyPress=checkKeyforNumbers(this) value="<%=F_intGen_RefreshMinutes%>" OnKeyDown="JavaScript:ClearErr();"> <%=L_NFS_MINUTES_TEXT%>
|
|
</TD>
|
|
</TR>
|
|
<!-- SECOND RADIO BEGINS -->
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
<INPUT type="radio" Class="FormField" value="0" name="radGen_UserGroupMap" <%=F_strUsePasswdGroupFiles_RadioStatus%> onClick="JavaScript:ClearErr();setFormFieldsStatus(parseInt(this.value,10));">
|
|
</TD>
|
|
<TD class="TasksBody" colspan=2>
|
|
<%=L_USE_PASSWD_GROUP_FILES_LABEL_TEXT%>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody">
|
|
<%=L_PASSWD_FILE_LABEL_TEXT%>
|
|
</TD>
|
|
<TD class="TasksBody" align="left">
|
|
<INPUT type="text" Class="FormField" name="txtGen_PasswdFile" size="25" value="<%=Server.HTMLEncode(F_strGen_PasswdFile)%>" OnKeyDown="JavaScript:ClearErr();">
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD class="TasksBody" align="right">
|
|
|
|
<!-- TD left empty to maintain the gap left by the radio buttons -->
|
|
</TD>
|
|
<TD class="TasksBody">
|
|
<%=L_GROUP_FILE_LABEL_TEXT%>
|
|
</TD>
|
|
<TD class="TasksBody" align="left">
|
|
<INPUT type="text" Class="FormField" name="txtGen_GroupFile" size="25" value="<%=Server.HTMLEncode(F_strGen_GroupFile)%>" OnKeyDown="JavaScript:ClearErr();">
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<%
|
|
End If
|
|
|
|
ServeGenFooter()
|
|
ServeGenPage = gc_ERR_SUCCESS
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' SubRoutine name: GetGenVariablesFromForm
|
|
' Description: Serves in getting the values from previous form
|
|
' Input Variables: None
|
|
' Output Variables: None
|
|
' Returns: None
|
|
' Global Variables: F_(*) - Form variables
|
|
'-------------------------------------------------------------------------
|
|
Function GetGenVariablesFromForm
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
' get all the form values to variables
|
|
F_intGen_SelectedRadio = Request.Form("hdnintGen_UserGroupMap_radio")
|
|
F_strGen_NisDomain = Request.Form("hdntxtGen_NISDomain")
|
|
F_strGen_NisServer = Request.Form ("hdntxtGen_NISServer")
|
|
F_strGen_PasswdFile = Request.Form("hdntxtGen_PasswdFile")
|
|
F_strGen_GroupFile = Request.Form("hdntxtGen_GroupFile")
|
|
F_intGen_RefreshInterval = CLng(Request.Form("hdntxtGen_RefreshInterval"))
|
|
|
|
' if the NIS domain is selected, Select that radio status accordingly
|
|
' (radio status = "Checked" or "")
|
|
If CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_NISSERVER Then
|
|
F_strUseNISServer_RadioStatus = CONST_RADIO_CHECKED_STATUS
|
|
F_strUsePasswdGroupFiles_RadioStatus = CONST_RADIO_NOT_CHECKED_STATUS
|
|
Else
|
|
F_strUseNISServer_RadioStatus = CONST_RADIO_NOT_CHECKED_STATUS
|
|
F_strUsePasswdGroupFiles_RadioStatus = CONST_RADIO_CHECKED_STATUS
|
|
End If
|
|
|
|
' split the refresh interval into Hours and Minutes
|
|
If F_intGen_RefreshInterval > 59 Then
|
|
F_intGen_RefreshHours = Int(F_intGen_RefreshInterval/60)
|
|
F_intGen_RefreshMinutes = (F_intGen_RefreshInterval Mod 60)
|
|
Else
|
|
F_intGen_RefreshHours = 0
|
|
F_intGen_RefreshMinutes = F_intGen_RefreshInterval
|
|
End If
|
|
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' SubRoutine name: GetGenVariablesFromSystem
|
|
' Description: Serves in getting the values from system
|
|
' Input Variables: None
|
|
' Output Variables: None
|
|
' Returns: None
|
|
' Global Variables: F_(*) - Form variables
|
|
'-------------------------------------------------------------------------
|
|
Function GetGenVariablesFromSystem
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
Dim objWMIService ' the wmi service object
|
|
Dim objInstance ' the instance object
|
|
|
|
' No radio button is selected initially
|
|
F_intGen_SelectedRadio = -1
|
|
F_strUsePasswdGroupFiles_RadioStatus = CONST_RADIO_NOT_CHECKED_STATUS
|
|
F_strUseNISServer_RadioStatus = CONST_RADIO_NOT_CHECKED_STATUS
|
|
|
|
' get the wmi connection (service object) for the SFUAdmin namespace
|
|
Set objWMIService = GetWMIConnection(WMI_SFUADMIN_NAMESPACE)
|
|
|
|
' get the object from the wmi
|
|
Set objInstance = objWMIService.Get(WMI_SFU_OBJECT_QUERY)
|
|
|
|
If Err.number <> 0 Then
|
|
SA_ServeFailurePage L_READFROM_WMI_FAILED_ERRORMESSAGE
|
|
End If
|
|
|
|
' assign the values to form variables
|
|
F_strGen_NisDomain = objInstance.NisDomain
|
|
F_strGen_NisServer = objInstance.NisServer
|
|
F_strGen_PasswdFile = objInstance.PasswdFileName
|
|
F_strGen_GroupFile = objInstance.GroupFileName
|
|
F_intGen_SelectedRadio = CInt(objInstance.ServerType)
|
|
|
|
' ServerType = 1 --- use Nis Server
|
|
' ServerType = 0 --- PCNFS.use files
|
|
' select and Check the radio button accordingly
|
|
If F_intGen_SelectedRadio = CONST_RADIO_USE_NISSERVER Then
|
|
F_strUseNISServer_RadioStatus = CONST_RADIO_CHECKED_STATUS
|
|
ElseIf CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_PASSWD_GROUPFILES Then
|
|
F_strUsePasswdGroupFiles_RadioStatus = CONST_RADIO_CHECKED_STATUS
|
|
Else
|
|
' nothing will be selected.
|
|
End If
|
|
|
|
' get the refresh interval. This will be in minutes
|
|
F_intGen_RefreshInterval = CLng(objInstance.RefreshInterval)
|
|
|
|
' split the refresh interval into hours and minutes for display
|
|
If F_intGen_RefreshInterval > 59 Then
|
|
F_intGen_RefreshHours = Int(F_intGen_RefreshInterval/60)
|
|
F_intGen_RefreshMinutes = (F_intGen_RefreshInterval Mod 60)
|
|
Else
|
|
F_intGen_RefreshHours = 0
|
|
F_intGen_RefreshMinutes = F_intGen_RefreshInterval
|
|
End If
|
|
|
|
' clean up
|
|
Set objWMIService = Nothing
|
|
Set objInstance = Nothing
|
|
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Function name: GenUserGroupMappingProperties
|
|
' Description: To set the general properties
|
|
' Input Variables: None
|
|
' Output Variables: None
|
|
' Returns: True on sucess, False on error (and error msg
|
|
' will be set by SetErrMsg)
|
|
' Global Variables: F_(*) - form values
|
|
'-------------------------------------------------------------------------
|
|
Function GenUserGroupMappingProperties()
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
Dim objWMIService ' the wmi service object
|
|
Dim objInstance ' the instance object
|
|
Dim LastError ' to store the last error returned by activex object
|
|
|
|
' if the files are given, check if they are existing
|
|
If CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_PASSWD_GROUPFILES Then
|
|
If NOT IsFileExisting(F_strGen_PasswdFile) Then
|
|
GenUserGroupMappingProperties = False
|
|
Exit Function
|
|
End If
|
|
|
|
If NOT IsFileExisting(F_strGen_GroupFile) Then
|
|
GenUserGroupMappingProperties = False
|
|
Exit Function
|
|
End If
|
|
End If
|
|
|
|
' if the NIS domain is given, see if it is valid
|
|
If CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_NISSERVER Then
|
|
' if the nis domain is not valid, display error message
|
|
If NOT (isValidNISServer(F_strGen_NisDomain, F_strGen_NisServer,LastError)) Then
|
|
SetErrMsg L_INVALID_NISDOMAIN_OR_SERVER_ERRORMESSAGE
|
|
GenUserGroupMappingProperties = False
|
|
Exit Function
|
|
End If
|
|
End If
|
|
|
|
' get the wmi connection (service object) for the SFUAdmin namespace
|
|
Set objWMIService = GetWMIConnection(WMI_SFUADMIN_NAMESPACE)
|
|
|
|
' get the object from the wmi
|
|
Set objInstance = objWMIService.Get(WMI_SFU_OBJECT_QUERY)
|
|
If Err.number <> 0 Then
|
|
SetErrMsg L_READFROM_WMI_FAILED_ERRORMESSAGE
|
|
GenUserGroupMappingProperties = False
|
|
Exit Function
|
|
End If
|
|
|
|
' set the property in the wmi
|
|
objInstance.ServerType = CInt(F_intGen_SelectedRadio)
|
|
objInstance.RefreshInterval = CLng(F_intGen_RefreshInterval)
|
|
|
|
' set values of nis domain/ files accordingly
|
|
If CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_NISSERVER Then
|
|
objInstance.NisDomain = F_strGen_NisDomain
|
|
objInstance.NisServer = F_strGen_NisServer
|
|
ElseIf CInt(F_intGen_SelectedRadio) = CONST_RADIO_USE_PASSWD_GROUPFILES Then
|
|
objInstance.PasswdFileName = F_strGen_PasswdFile
|
|
objInstance.GroupFileName = F_strGen_GroupFile
|
|
Else
|
|
' this will not occur !!!
|
|
End If
|
|
|
|
' save the changes
|
|
objInstance.Put_
|
|
|
|
If Err.number Then
|
|
SetErrMsg L_WRITETO_WMI_FAILED_ERRORMESSAGE
|
|
GenUserGroupMappingProperties = False
|
|
Else
|
|
GenUserGroupMappingProperties = True
|
|
End If
|
|
|
|
' clean up
|
|
Set objWMIService = Nothing
|
|
Set objInstance = Nothing
|
|
|
|
End function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Function name: IsFileExisting
|
|
' Description: To check if the input file is existing
|
|
' Input Variables: inFile - file name(along with path) to be verified
|
|
' Output Variables: None
|
|
' Returns: True if file exits, else False
|
|
' Global Variables: None
|
|
' Uses the file system object to verify the existence of the file
|
|
'-------------------------------------------------------------------------
|
|
Function IsFileExisting(inFile)
|
|
Err.Clear
|
|
On Error Resume Next
|
|
|
|
Dim objFSO ' the file system object
|
|
|
|
' create the file system object
|
|
Set objFSO = CreateObject(FILE_SYSTEM_OBJECT)
|
|
|
|
If Err.number <> 0 Then
|
|
SetErrMsg L_FILESYSYTEMOBJECT_NOT_CREATED_ERRORMESSAGE
|
|
IsFileExisting = False
|
|
Exit Function
|
|
End If
|
|
|
|
' check if file exists
|
|
If objFSO.FileExists(inFile) Then
|
|
IsFileExisting = True
|
|
Else
|
|
SetErrMsg L_FILE_DOES_NOT_EXIST_ERRORMESSAGE & " " & inFile
|
|
IsFileExisting = False
|
|
Exit Function
|
|
End If
|
|
|
|
' clean up
|
|
Set objFSO = Nothing
|
|
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Function name: isValidNISServer
|
|
' Description: Validates NISServer Name
|
|
' Input Variables: strNISDomainName - domain to be verified
|
|
' strNISServer - server to be verified(can be empty)
|
|
' Output Variables: LastError - the error value
|
|
' Returns: True if valid, else False
|
|
' Global Variables: None
|
|
' Uses activex object to vvalidate the nis domain/server
|
|
'-------------------------------------------------------------------------
|
|
Function isValidNISServer(strNISDomainName, strNISServer, LastError)
|
|
On Error Resume Next
|
|
Err.Clear
|
|
|
|
Dim objNISMapper ' the activex object
|
|
Dim intResult ' to store the return value from the method
|
|
|
|
'Get the instance of the mapper Class
|
|
Set objNISMapper = Server.CreateObject("MapManager.1")
|
|
If Err.number <> 0 Then
|
|
SA_ServeFailurePage L_MAPPEROBJECT_NOT_CREATED_ERRORMESSAGE
|
|
End if
|
|
|
|
' Valid the Empty user and check whether it results in Invalid user
|
|
' error or success.
|
|
intResult = objNISMapper.IsValidNisUser(strNISDomainName,strNISServer," ")
|
|
|
|
' if the NIS Server/domain couldn't be contacted/doesnt exists.
|
|
' Return false
|
|
If cstr(objNISMapper.lastError) <> "0" and cstr(objNISMapper.lastError) <> "2202" then
|
|
LastError = cstr(objNISMapper.lastError)
|
|
isValidNISServer = False
|
|
Exit function
|
|
End if
|
|
|
|
' clean up
|
|
Set objNISMapper = Nothing
|
|
|
|
' return True
|
|
isValidNISServer = True
|
|
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Function name: ServeGenFooter
|
|
' Description: Serves the hidden form variables
|
|
' Input Variables: None
|
|
' Output Variables: None
|
|
' Returns: None
|
|
' Global Variables: F_(*) - form values
|
|
' This function serves the hidden variables of the form.
|
|
' These are used to get the form values when the form is submitted.
|
|
'-------------------------------------------------------------------------
|
|
Function ServeGenFooter
|
|
Err.Clear
|
|
On Error Resume Next
|
|
%>
|
|
<input type="hidden" name="hdnintGen_UserGroupMap_radio" value="<%=F_intGen_SelectedRadio%>">
|
|
<input type="hidden" name="hdntxtGen_NISDomain" value="<%=F_strGen_NisDomain%>">
|
|
<input type="hidden" name="hdntxtGen_NISServer" value="<%=F_strGen_NisServer%>">
|
|
<input type="hidden" name="hdntxtGen_RefreshInterval" value="<%=F_intGen_RefreshInterval%>">
|
|
<input type="hidden" name="hdntxtGen_PasswdFile" value="<%=F_strGen_PasswdFile%>">
|
|
<input type="hidden" name="hdntxtGen_GroupFile" value="<%=F_strGen_GroupFile%>">
|
|
<%
|
|
End Function
|
|
%>
|