mirror of https://github.com/tongzx/nt5src
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.
137 lines
3.1 KiB
137 lines
3.1 KiB
#pragma once
|
|
|
|
#include <Validation.h>
|
|
#include "VarSetBase.h"
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// VarSet Options Class
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
class CVarSetOptions : public CVarSet
|
|
{
|
|
public:
|
|
|
|
CVarSetOptions(const CVarSet& rVarSet) :
|
|
CVarSet(rVarSet)
|
|
{
|
|
// Put(DCTVS_Options_MaxThreads, 20L);
|
|
|
|
// TODO: these credentials are used during security translation?
|
|
// Put(DCTVS_Options_Credentials_Domain, (LPCTSTR)NULL);
|
|
// Put(DCTVS_Options_Credentials_UserName, (LPCTSTR)NULL);
|
|
// Put(DCTVS_Options_Credentials_Password, (LPCTSTR)NULL);
|
|
|
|
_bstr_t strLogFolder = GetLogFolder();
|
|
|
|
Put(DCTVS_Options_DontBeginNewLog, true);
|
|
Put(DCTVS_Options_AppendToLogs, true);
|
|
Put(DCTVS_Options_Logfile, strLogFolder + _T("Migration.log"));
|
|
Put(DCTVS_Options_DispatchLog, strLogFolder + _T("Dispatch.log"));
|
|
Put(DCTVS_Options_AutoCloseHideDialogs, 2L);
|
|
}
|
|
|
|
//
|
|
|
|
void SetTest(bool bTest)
|
|
{
|
|
Put(DCTVS_Options_NoChange, bTest);
|
|
}
|
|
|
|
void SetUndo(bool bUndo)
|
|
{
|
|
Put(DCTVS_Options_Undo, bUndo);
|
|
}
|
|
|
|
void SetWizard(LPCTSTR pszWizard)
|
|
{
|
|
Put(DCTVS_Options_Wizard, pszWizard);
|
|
}
|
|
|
|
void SetIntraForest(bool bIntraForest)
|
|
{
|
|
Put(DCTVS_Options_IsIntraforest, bIntraForest);
|
|
}
|
|
|
|
void SetSourceDomain(LPCTSTR pszNameFlat, LPCTSTR pszNameDns, LPCTSTR pszSid = NULL)
|
|
{
|
|
Put(DCTVS_Options_SourceDomain, pszNameFlat);
|
|
Put(DCTVS_Options_SourceDomainDns, (pszNameDns && pszNameDns[0]) ? pszNameDns : pszNameFlat);
|
|
|
|
if (pszSid)
|
|
{
|
|
Put(DCTVS_Options_SourceDomainSid, pszSid);
|
|
}
|
|
}
|
|
|
|
void SetTargetDomain(LPCTSTR pszNameFlat, LPCTSTR pszNameDns)
|
|
{
|
|
Put(DCTVS_Options_TargetDomain, pszNameFlat);
|
|
Put(DCTVS_Options_TargetDomainDns, pszNameDns);
|
|
}
|
|
|
|
void SetTargetOu(LPCTSTR pszOu)
|
|
{
|
|
Put(DCTVS_Options_OuPath, pszOu);
|
|
}
|
|
|
|
// only set if copying passwords
|
|
|
|
void SetTargetServer(LPCTSTR pszServer)
|
|
{
|
|
Put(DCTVS_Options_TargetServerOverride, pszServer);
|
|
}
|
|
|
|
void SetRenameOptions(long lOption, LPCTSTR pszPrefixOrSuffix)
|
|
{
|
|
switch (lOption)
|
|
{
|
|
case admtRenameWithPrefix:
|
|
{
|
|
if (pszPrefixOrSuffix && (_tcslen(pszPrefixOrSuffix) > 0))
|
|
{
|
|
if (IsValidPrefixOrSuffix(pszPrefixOrSuffix))
|
|
{
|
|
Put(DCTVS_Options_Prefix, pszPrefixOrSuffix);
|
|
Put(DCTVS_Options_Suffix, (LPCTSTR)NULL);
|
|
}
|
|
else
|
|
{
|
|
AdmtThrowError(GUID_NULL, GUID_NULL, E_INVALIDARG, IDS_E_INVALID_RENAME_PREFIX_SUFFIX);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AdmtThrowError(GUID_NULL, GUID_NULL, E_INVALIDARG, IDS_E_NO_RENAME_PREFIX);
|
|
}
|
|
break;
|
|
}
|
|
case admtRenameWithSuffix:
|
|
{
|
|
if (pszPrefixOrSuffix && (_tcslen(pszPrefixOrSuffix) > 0))
|
|
{
|
|
if (IsValidPrefixOrSuffix(pszPrefixOrSuffix))
|
|
{
|
|
Put(DCTVS_Options_Prefix, (LPCTSTR)NULL);
|
|
Put(DCTVS_Options_Suffix, pszPrefixOrSuffix);
|
|
}
|
|
else
|
|
{
|
|
AdmtThrowError(GUID_NULL, GUID_NULL, E_INVALIDARG, IDS_E_INVALID_RENAME_PREFIX_SUFFIX);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AdmtThrowError(GUID_NULL, GUID_NULL, E_INVALIDARG, IDS_E_RENAME_NO_SUFFIX);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void SetRestartDelay(long lTime)
|
|
{
|
|
Put(DCTVS_Options_GuiOnlyRebootSaver, lTime);
|
|
}
|
|
};
|