(no commit message)
[openafs-wiki.git] / WindowsConfigurationReferenceGuide.mdwn
1 **This content may be out of date.  See details in a [posting to openafs-info mailing list](http://www.mail-archive.com/openafs-info@openafs.org/msg35820.html).  Please edit this page and add status details to this paragraph as appropriate.**
2
3 A circa-2008 version of this content is available as HTMLHelp from [TommieGannert's site](http://www.e.kth.se/~tommie/openafs/openafs-referenceguide.chm).
4
5 # <a name="Configuration Reference Guide"></a> Configuration Reference Guide
6
7 <div>
8   <ul>
9     <li><a href="#Configuration Reference Guide"> Configuration Reference Guide</a><ul>
10         <li><a href="#Introduction"> Introduction</a></li>
11         <li><a href="#Credentials Manager"> Credentials Manager</a><ul>
12             <li><a href="#Command Line Options"> Command Line Options</a></li>
13             <li><a href="#Tokens"> Tokens</a></li>
14             <li><a href="#Drive Letters"> Drive Letters</a></li>
15             <li><a href="#Advanced"> Advanced</a></li>
16             <li><a href="#System Tray"> System Tray</a></li>
17           </ul>
18         </li>
19         <li><a href="#Client Configuration"> Client Configuration</a><ul>
20             <li><a href="#General"> General</a></li>
21             <li><a href="#Drive Letters"> Drive Letters</a></li>
22             <li><a href="#Preferences"> Preferences</a></li>
23             <li><a href="#AFS Cells"> AFS Cells</a></li>
24             <li><a href="#Advanced"> Advanced</a><ul>
25                 <li><a href="#Logon Settings"> Logon Settings</a></li>
26                 <li><a href="#Diagnostic"> Diagnostic</a></li>
27                 <li><a href="#Global Drives"> Global Drives</a></li>
28                 <li><a href="#Binding"> Binding</a></li>
29                 <li><a href="#Miscellaneous"> Miscellaneous</a></li>
30               </ul>
31             </li>
32           </ul>
33         </li>
34         <li><a href="#Settings Without a User Interfac"> Settings Without a User Interface</a><ul>
35             <li><a href="#Netbios Name"> Netbios Name</a></li>
36             <li><a href="#Encryption of Network Traffic"> Encryption of Network Traffic</a></li>
37             <li><a href="#Freelance Client Support"> Freelance Client Support</a><ul>
38                 <li><a href="#Freelance Root Setup"> Freelance Root Setup</a></li>
39               </ul>
40             </li>
41             <li><a href="#Hiding Dot-Files"> Hiding Dot-Files</a></li>
42             <li><a href="#Hiding the \\AFS\all Share"> Hiding the <tt>\\AFS\all</tt> Share</a></li>
43             <li><a href="#Tweaking the SMB Connections"> Tweaking the SMB Connections</a></li>
44             <li><a href="#Connection Timeouts"> Connection Timeouts</a></li>
45             <li><a href="#Tweaking RPC Traffic"> Tweaking RPC Traffic</a></li>
46             <li><a href="#Enabling Debug Trace Events"> Enabling Debug Trace Events</a></li>
47             <li><a href="#Restricting the Number of Utiliz"> Restricting the Number of Utilized CPUs</a></li>
48             <li><a href="#Moving the _CellServDB File"> Moving the CellServDB File</a></li>
49             <li><a href="#Moving the Integrated Logon Supp"> Moving the Integrated Logon Support File</a></li>
50             <li><a href="#Allowing More Time For the Servi"> Allowing More Time For the Service To Start</a></li>
51             <li><a href="#Running a Logon Script"> Running a Logon Script</a></li>
52             <li><a href="#Integrated Logon Usage"> Integrated Logon Usage</a></li>
53             <li><a href="#Integrated Logon Silence"> Integrated Logon Silence</a></li>
54             <li><a href="#Disable Automatic Use of _Kerber"> Disable Automatic Use of KerberosV</a></li>
55             <li><a href="#Changing the Default Authenticat"> Changing the Default Authentication Cell</a></li>
56             <li><a href="#Changing the Parameters of AFS C"> Changing the Parameters of AFS Credentials Manager</a></li>
57           </ul>
58         </li>
59         <li><a href="#Per Domain Options"> Per Domain Options</a><ul>
60             <li><a href="#Resolution of Domain Specific Va"> Resolution of Domain Specific Values</a></li>
61             <li><a href="#Exceptions To the Resolution Rul"> Exceptions To the Resolution Rule</a></li>
62           </ul>
63         </li>
64         <li><a href="#Windows Registry Keys of _OpenAF"> Windows Registry Keys of OpenAFS</a></li>
65       </ul>
66     </li>
67   </ul>
68 </div>
69
70 ## <a name="Introduction"></a> Introduction
71
72 Once you have installed [[OpenAFS]] for Windows onto your computer, there are two programs you will be concerned with: the AFS Client (Credentials Manager), and the AFS Client Configuration program. Many of the options in [[OpenAFS]] can be set from both programs. This is a source of confusion, which this guide will try to sort out.
73
74 Because this is a reference, the programs will be described in order, screen by screen. At the end, files and Windows Registry keys will be described.
75
76 ## <a name="Credentials Manager"></a> Credentials Manager
77
78 This program is located in `C:\Program Files\OpenAFS\Client\Program\afscreds.exe` (default location). It is used for managing end-user tasks. This includes obtaining tickets and setting up per-user drive mappings.
79
80 ### <a name="Command Line Options"></a> Command Line Options
81
82 If you intend to run `afscreds.exe` from a command line, the following options may be of interest to you. NB: The flags are case-insensitive, and can begin with either **_-_** (� la Unix) or **_/_** (old Windows style).
83
84 <dl>
85   <dt> -A</dt>
86   <dd> Auto Initialize. Starts the AFS service if it is stopped. Tries to obtain tokens when the Credentials Manager is started. </dd>
87   <dt> -E</dt>
88   <dd> Exit. Terminate another, already running, instance of Credentials Manager. Then exit this instance. </dd>
89   <dt> -I</dt>
90   <dd> Install in Startup. Make the Credentials Manager start when the user logs in. </dd>
91   <dt> -M</dt>
92   <dd> Renew Drive Mappings. Unmaps all drive mappings and then remaps them when the Credentials Manager is started. </dd>
93   <dt> -N</dt>
94   <dd> Net Change Detect. Tells the Credentials Manager to ask the user for new tokens if a network interface changes its IP address. </dd>
95   <dt> -Q</dt>
96   <dd> Quiet. Do not notify the user if the AFS service is not started when the Credentials Manager is begin started. </dd>
97   <dt> -S</dt>
98   <dd> Show Tokens. Open the tokens window on start. </dd>
99   <dt> -U</dt>
100   <dd> Uninstall. Remove Credentials Manager from Startup. The Credentials Manager will no longer start automatically when the user logs in. </dd>
101   <dt> -X</dt>
102   <dd> Remap All. Remap all drives, including global drives. </dd>
103   <dt> -Z</dt>
104   <dd> Unmap All. Unmaps all per-user drives. </dd>
105 </dl>
106
107 ### <a name="Tokens"></a> Tokens
108
109 <img src="http://www.e.kth.se/~tommie/openafs/screens/afscreds/tokens.png" width="467" height="238" /> The Tokens Tab displays brief information about your AFS tokens. It shows your current cell, and when the tokens expire. It lets you obtain (or renew) tokens (kauth/kinit in Unix) and make it sound an alarm if they will be expiring any time soon. If you have sensitive information in AFS, you can discard (kdestroy) tokens when away.
110
111 [[OpenAFS]] and roaming profiles are a problematic issue. Windows does not notify [[OpenAFS]] when it is done putting the profile back into AFS. This means [[OpenAFS]] has no way to safely discard tokens when you log out, given you are using roaming profiles. When using a local profile, the tokens are discarded when you logout. See also the [[WindowsTroubleshootingGuide]] on this matter.
112
113 The Credentials Manager can make use of MIT Kerberos for Windows, if installed. This lets you use [[KerberosV]] tickets directly in the AFS Credentials Manager. Thus, there is no longer a need to have a third party Credentials Manager running. This window also shows what version of [[OpenAFS]] you are currently running.
114
115 ### <a name="Drive Letters"></a> Drive Letters
116
117 <img src="http://www.e.kth.se/~tommie/openafs/screens/afscreds/drive-letters.png" width="467" height="238" /> A fundamental entity in the Microsoft Windows operating systems is the **_drive_**. A drive is identified by one letter and a colon. Masking a network file system as a drive is called "mapping a drive."
118
119 Mapping a drive in [[OpenAFS]] requires you to know three things. You will have to know what drive you want to map, what AFS path to map from, and what to call the mapping. The first two should be obivous. If you are used to Unix, however, note that the AFS Path is written using backslash, not slash. You also have the option to automatically reconnect the drive on login.
120
121 The Description field is not as obvious. It is an **_identifier_** for the mapping, and is called a **_submount_**. It is not a free text description. The same restrictions apply to the description as to any name of a Windows share. See the [[WindowsTroubleshootingGuide]] for more information on submounts.
122
123 ### <a name="Advanced"></a> Advanced
124
125 <img src="http://www.e.kth.se/~tommie/openafs/screens/afscreds/advanced.png" width="467" height="238" /> If you are an administrator, you will want to use this tab eventually. You can check the status of the AFS service, start it if needed and configure global parameters. Pressing "Configure AFS Client" brings up the "AFS Client Configuration" program, which is described in a later section.
126
127 You should always start the AFS service when the computer starts up. Otherwise, you will have to start the service manually. This is equivalent to using the "Services" tab of Windows Administration Tools". This applies to all users.
128
129 The "Always show the AFS Client icon in the taskbar" option sets whether the Credentials Manager should be started on each login or not.
130
131 ### <a name="System Tray"></a> System Tray
132
133 <img src="http://www.e.kth.se/~tommie/openafs/screens/windows/taskbar.png" width="135" height="26" /> A padlock is the icon for AFS Credentials Manager. It is locked when you have valid tokens, and has a small red cross when you do not.
134
135 Clicking it brings the Credentials Manager up. Right-clicking opens a three-item menu. "Remove Icon..." will ask if you want to stop the AFS service or not. The Credentials Manager will then exit.
136
137 ## <a name="Client Configuration"></a> Client Configuration
138
139 This program is located in `C:\Program Files\OpenAFS\Common\afs_config.exe` (default location). The configuration utility can perform most operations of the Credentials Manager, and more. In fact, the Client Configuration is not able to obtain tokens, but everything else can be updated with it.
140
141 When installed, [[OpenAFS]] also installs this program as a Control Panel applet, called "AFS Client Configuration". No matter what you call it, the functionality is the same.
142
143 ### <a name="General"></a> General
144
145 <img src="http://www.e.kth.se/~tommie/openafs/screens/afsconfig/general.png" width="356" height="495" /> The General Tab of the AFS Client Configuration provide roughly the same functionality as the Advanced Tab of the Credentials Manager. The Cell Name identifies the default authentication cell. The `root.afs` volume of this cell is used to identify which cells to present at the root. Your default cell must have AFSDB-records in DNS, or/and be listed in [[CellServDB]] (see AFS Cells below). At the bottom, you will find the same Start / Stop Service as in the Credentials Manager.
146
147 The three other options are:
148
149 - **Obtain AFS tokens when logging into Windows** enables the Integrated Logon feature.
150 - **Provide an AFS Light Gateway** gives you access to the [[OpenAFS]] submounts from other computers.
151 - **Show the AFS Client icon in the taskbar** will start the Credentials Manager if it is not already running.
152
153 ### <a name="Drive Letters"></a> Drive Letters
154
155 Mapping drives and creating submounts work the same way as for the Credentials Manager. Please refer to the section above.
156
157 ### <a name="Preferences"></a> Preferences
158
159 <img src="http://www.e.kth.se/~tommie/openafs/screens/afsconfig/preferences.png" width="356" height="495" /> Since AFS can mirror both files and volume information on several servers, there must be a way to determine which server to contact. In [[OpenAFS]] for Windows, this is specified using the Server Preferences screen. Normally, you will never need to manually change the preferences of the servers. However, if you are doing load balance testing or if you are stress-testing a server, you may want to set preferences here.
160
161 You can also import the rankings from a file. The file is a text file with one line per server. Whitespaces separate the server name from the ranking number. Note that the servers are imported to the active list (File Server or Volume Location Server).
162
163 ### <a name="AFS Cells"></a> AFS Cells
164
165 <img src="http://www.e.kth.se/~tommie/openafs/screens/afsconfig/afscells.png" width="356" height="495" /> Before [[OpenAFS]] was able to handle AFSDB-records in DNS, the [[CellServDB]] file contained the explicit mappings between cells and servers. The AFS Cells Tab shows the cells currently in the [[CellServDB]]. You add a cell and list its associated servers. Most large sites copy the [[CellServDB]] directly from the network, to keep it in sync.
166
167 ### <a name="Advanced"></a> Advanced
168
169 <img src="http://www.e.kth.se/~tommie/openafs/screens/afsconfig/advanced.png" width="356" height="495" /> Finally, the Advanced Tab. This is where you configure the heart of [[OpenAFS]] for Windows. Most of these settings already have a best-practice value. Be warned that changing these settings can cause [[OpenAFS]] to be slow, or to stop working at all.
170
171 In the Cache Configuration section, there are four options:
172
173 - **Cache Size** determines the maximum disk cache size. The disk cache is a file, and it will always have the chosen size. I.e. it will not shrink if possible. The defualt is 20 MB. If you are editing large files, you may want to increase the cache size. Note that [[OpenAFS]] for Windows does not have a **_persistent cache_**. This means the cache will be flushed each time the [[OpenAFS]] service stops. The Unix versions of [[OpenAFS]] does have a persistent cache.
174 - **Cache Path** holds the path to the file acting as disk cache. The default is `C:\AFSCache`.
175 - **Chunk Size** is the smallest transfer unit. The cache works by caching chunks of files, not necessarily entire files. It should be set to a size which is fast to transfer over the network, yet large enough to avoid lots and lots of transfers. The default is 32 kB. It must be an even power of two.
176 - **Status Cache** describes file meta information caching. 1000 entries is the default.
177
178 #### <a name="Logon Settings"></a> Logon Settings
179
180 Change the behavior of the Integrated Logon feature. The login retry interval sets how long (in seconds) [[OpenAFS]] will try to obtain initial tokens. Fail Logins Silently controls whether you will get a message box telling the reason for the failure.
181
182 Setting "Fail Logins Silently" to "No" also affects the function of the retry interval. When the interval has passed, you will be asked whether to start the timer over or not. If you choose to start over, another retry interval will be used to try and obtain the tokens.
183
184 #### <a name="Diagnostic"></a> Diagnostic
185
186 Due to the complexity of [[OpenAFS]], the error and trace logging facilites have evolved into a detailed tracer of execution. The buffer is a ring, and the default size is 5000 kB. You can read this buffer using the `osidebug` program.
187
188 "Trap On Panic" is used during development. It is only useful if the AFS service crashes. If set to "Yes" (default), a crashed service will start the system debugger. (Actually, it sends an IRQ 3.) Note that the option is ignored if the system does not have a debugger installed.
189
190 "Report Session Startups" will let the AFS service send an event to the Windows Event Log each time a new SMB/CIFS session is started. Default is "No".
191
192 #### <a name="Global Drives"></a> Global Drives
193
194 In a highly networked environment, it is not uncommon to read login scripts from the network. This, of course, requires the scripts to be accessible by login time. Since the per-user drive mappings are executed **_after_** the scripts are executed, the global drive mappings can be used. These affect all users, and can only be modified by an Administrator.
195
196 #### <a name="Binding"></a> Binding
197
198 Before [[OpenAFS]] for Windows began to use the [[WindowsLoopBackAdapter]], it used physical network interfaces to bind to. In certain situations, the default choice may be a bad one. For instance, when the network interface connects directly to the Internet, this would be a bad idea. With the Loop Back Adapter, this is no longer an issue.
199
200 #### <a name="Miscellaneous"></a> Miscellaneous
201
202 <img src="http://www.e.kth.se/~tommie/openafs/screens/afsconfig/adv_misc.png" width="336" height="301" /> These settings are hardly ever changed. They control system specific settings.
203
204 - **Probe Interval** determines how often to check file servers. AFS is designed through the principle of callbacks. The file servers are obliged to notify each client if a subscribed file changes. This setup is not guaranteed to work if the servers lose the subscription list. Therefore, the client probes the servers regularly. **_Note: currently this setting is not permanently stored in the Windows Registry. It is only induced in a running AFS Client Service._**
205 - **Background Threads** controls how many AFS network threads will be running. One thread is able to handle one request from an AFS server at any time. Default is four threads.
206 - **Service Threads** controls how many SMB/CIFS threads will be running. If your computer is a single user machine, not doing any video or audio editing, a low number should suffice. It is possible that a higher number will get better performance for many parallel file accesses. Default is two threads.
207 - **System Name** is the value of "@sys". It should never be changed. Default is currently "i386\_nt40" for Windows NT/2000/XP/2003.
208 - **Mount Directory** is really "Mount Root". It is used when resolving symlinks. Microsoft Windows does not know about symbolic links, so the AFS Client Service must convert them. If a symlink target begins with the **_Mount Directory_** string, it will be transformed into an absolute path of the form `\\AFS\ALL\...`. Default is `/afs`. There is generally no need to modify this value.
209 - **Root Volume** is the name of the root volume of the default cell. Default is `root.afs`, and is the recommended AFS root volume name.
210
211 ## <a name="Settings Without a User Interfac"></a> Settings Without a User Interface
212
213 Currently, some options have not yet been given a proper user interface. These can be changed directly in the Windows Registry using `regedit`.
214
215 ### <a name="Netbios Name"></a> Netbios Name
216
217 As the AFS service publishes its services as SMB/CIFS shares, there must be a name of this service. The `NetbiosName` (type expanding string) value of `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` can change this. The default is "AFS". Change this to "%COMPUTERNAME%-AFS" to revert to the old behavior.
218
219 ### <a name="Encryption of Network Traffic"></a> Encryption of Network Traffic
220
221 Historically, AFS did not support encrypted network traffic. This has changed in recent years. The support is off by default in order to be compatible with old servers. You enable and disable encryption through the value `SecurityLevel` (type DWORD) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters`. Set to 1 to enable and 0 to disable.
222
223 ### <a name="Freelance Client Support"></a> Freelance Client Support
224
225 This option can be set during installation. After installation, a registry entry must be edited. It can be found in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` and is called `FreelanceClient` (type DWORD). Set it to 1 to enable Freelance Mode. See the [[Troubleshooting Guide|WindowsTroubleshootingGuide#What_is_Freelance_Mode_]] for more information on Freelance Mode. Default is zero (disabled).
226
227 #### <a name="Freelance Root Setup"></a> Freelance Root Setup
228
229 To be able to use Freelance Mode, the AFS Client Service needs to know which cells should be visible. This is equivalent to mounting `root.cell` volumes in `root.afs`. If there are no volumes described when the AFS Client Service first starts, the default cell is inserted into the list (including a forced R/W volume).
230
231 To change the list, you need to edit the values under `HKEY_LOCAL_MACHINE\SOFTWARE\OpenAFS\Client\Freelance`. The values must be named with consecutive integers, starting from zero. Each value describes one volume to be mounted. The syntax is
232
233         mountpoint#cell:volume.\n
234         mountpoint%cell:volume.\n
235
236 Note the trailing dot and newline (ASCII 10) characters. The first line (with a hash) describes a normal volume, the second (with a percent sign) describes a R/W volume. R/W volume mountpoints usually begin with a dot. For instance, the keyed values
237
238         0 = openafs.org#openafs.org:root.cell.\n
239         1 = .openafs.org%openafs.org:root.cell.\n
240
241 will make two volumes available, one normal and one forced R/W.
242
243 ### <a name="Hiding Dot-Files"></a> Hiding Dot-Files
244
245 On Unix, a dot-file is a file which begins with the dot character. It is semantically similar to the Hidden attribute used in Windows. This feature is enabled by default and marks all dot-files with the Hidden attribute. The value `HideDotFiles` (type DWORD) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` can disable it (by giving it the value 0).
246
247 ### <a name="Hiding the \\AFS\all Share"></a> Hiding the `\\AFS\all` Share
248
249 The share `all` is exported by default, and is defined as the root volume of the default cell. If you do not want this share to be defined, you can set `AllSubmount` (type DWORD) to 0, in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters`.
250
251 ### <a name="Tweaking the SMB Connections"></a> Tweaking the SMB Connections
252
253 Four values in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` affect the SMB connections:
254
255 - `MaxMpxRequests` (type DWORD) is the maximum number of multiplexed SMB requests that can be made. Default is 50.
256 - `MaxVCPerServer` (type DWORD) is the maximum number of SMB virtual circuits. Default is 100.
257 - `NoFindLanaByName` (type DWORD) disables the attempt to identity the network adapter to use by looking for an adapter with a display name of "AFS", if set to 1. Default is 0.
258 - `SMBAuthType` (type DWORD) defines the type of SMB authentication which must be present in order for the Windows SMB client to connect to the AFS Client Service's SMB server. The values are
259   - No authentication required (0)
260   - NTLM authentication required (1)
261   - Extended (GSS SPNEGO) authentication required (2, default)
262
263 Heavily loaded clients may need to increase the first two values.
264
265 Running the default authentication type, GSS SPNEGO, requires you to have the `cifs/HOST$@REALM` principal in your [[KerberosV]] KDC. If you Windows client computer is called `adam.openafs.org`, the principal should (probably) be `cifs/ADAM$@OPENAFS.ORG`. This works like the `host` principal, and must share the secret key with the `host` principal. Note: The name of the virtual SMB share is **_AFS_** if you use the [[WindowsLoopBackAdapter]]. But you must **_not_** have the principal `cifs/afs` principal in any realm you login to.
266
267 If the CIFS principal is missing, the client will revert to using NTLM authentication.
268
269 Also, you can explicitly set the Client Side Caching Policy of a SMB share by populating `HKEY_LOCAL_MACHINE\SOFTWARE\OpenAFS\Client\CSCPolicy\` with values. The values (type string) are keyed by the submount (Windows share) name. Valid policy values are:
270
271 - **disable** Which totally disables Windows Client Side Caching.
272 - **programs** Disables the cache for files that are opened for reading.
273 - **documents** All files will be cached.
274 - **manual** Selected files will be cached.
275
276 Note that CSC is something Windows can do with all CIFS shares. The setting is used for responding to Windows requests about the policy. AFS itself has its own caching which is not involved in CSC. Read more in [Windows Clustering](http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/cluad_pr_100.asp).
277
278 ### <a name="Connection Timeouts"></a> Connection Timeouts
279
280 In `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters`, two values control when connections are considered dead.
281
282 - `ConnDeadTimeout` (type DWORD) Default is 60 seconds.
283 - `HardDeadTimeout` (type DWORD) Default is 120 seconds, and it must be at least twice the `ConnDeadTimeout` value.
284
285 ### <a name="Tweaking RPC Traffic"></a> Tweaking RPC Traffic
286
287 In `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters`, two values control how RX transfers data.
288
289 - `RxNoJumbo` (type DWORD) If enabled, does not send or indicate that we are able to send or receive RX jumbograms. Default is 0, which means jumbograms are used.
290 - `RxMaxMTU` (type DWORD) If set to anything other than -1, uses that value as the maximum MTU supported by the RX interface. In order to enable [[OpenAFS]] to operate across the Cisco IPSec VPN client, this value must be set to 1264 or smaller. Default is -1, the maximum.
291
292 ### <a name="Enabling Debug Trace Events"></a> Enabling Debug Trace Events
293
294 Normally, the `TraceOption` (type DWORD) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` is 0, meaning no traces will be sent to the Application Event Log. Setting it to 1 enables trace output.
295
296 ### <a name="Restricting the Number of Utiliz"></a> Restricting the Number of Utilized CPUs
297
298 For most part, the [[OpenAFS]] client can use as many processors as available. However, using multiple processors on a Hyperthreaded Pentium 4 system can cause the [[OpenAFS]] service to crash. If you have such a system, you should set `MaxCPUs` (type DWORD) (in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters`) to 1. The default is undefined, and means all processors may be used.
299
300 ### <a name="Moving the _CellServDB File"></a> Moving the [[CellServDB]] File
301
302 The registry setting `CellServDBDir` (type string) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider` specifies the base directory of the [[CellServDB]] file. Note that the filename `CellServDB` is appended to this path. The default is `C:\Program Files\OpenAFS\Client`.
303
304 ### <a name="Moving the Integrated Logon Supp"></a> Moving the Integrated Logon Support File
305
306 [[OpenAFS]] installs very few files outside its directory in `Program Files`. The Integrated Logon DLL, `afslogon.dll`, is an exception. It is installed in `%WINDIR%\SYSTEM32` by default.
307
308 To change this location you must update the registry value `AuthentProviderPath` (type string) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider` to point to the new location.
309
310 ### <a name="Allowing More Time For the Servi"></a> Allowing More Time For the Service To Start
311
312 When the AFS Client Service starts, it has to read files, the registry, DNS information, and connect to servers. All of this may take quite some time. On slow computers, the default retry policy can be too short.
313
314 In this case, the `LoginRetryInterval` (type DWORD) and `LoginSleepInterval` (type DWORD) values in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider` can be increased. If the [[OpenAFS]] client service has not started yet, the network provider will wait for a maximum of `LoginRetryInterval` seconds while retrying every `LoginSleepInterval` seconds to check if the service is up. This setting is domain-specific; see below.
315
316 ### <a name="Running a Logon Script"></a> Running a Logon Script
317
318 You may set `LogonScript` (type string or expandable string) of `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider` to any runnable script or program. Default is to not run any program. This setting is also domain-specific; see below.
319
320 ### <a name="Integrated Logon Usage"></a> Integrated Logon Usage
321
322 Utilization of the Integrated Logon feature can be set on a per-domain basis. The value is called `LogonOptions` (type DWORD) and can be found in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider`. Setting this to "0" disables Integrated Logon, and a "1" enables it. Default is enabled. If you set this to "2", you enable the [[OpenAFS]] High Security mode, and setting it to "3" enables both High Security Mode and Integrated Logon.
323
324 High Security mode is a deprecated techinque to let several users logon to the same computer at once. Since [[OpenAFS]] now supports authenticated SMB connections, there is really no need for this mode. If you still want to use this mode, you should disable SMB Authentication. See "Tweaking the SMB Connections" on this matter.
325
326 ### <a name="Integrated Logon Silence"></a> Integrated Logon Silence
327
328 In the Client Configuration, you may choose whether the Intergrated Logon should warn when you cannot logon, or if it should not. Since this setting is domain-specific, here is the background. The `FailLoginsSilently` (type DWORD) in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider` can be set to 1 to ignore any failures. Default is to warn (i.e. a value of zero).
329
330 ### <a name="Disable Automatic Use of _Kerber"></a> Disable Automatic Use of [[KerberosV]]
331
332 If you have MIT Kerberos for Windows installed, and you do not want to let AFS Credentials Manager use it, you can disable it by setting `EnableKFW` (type DWORD) in `SOFTWARE\OpenAFS\Client`. This can be done in either of `HKEY_LOCAL_MACHINE` or `HKEY_CURRENT_USER`.
333
334 ### <a name="Changing the Default Authenticat"></a> Changing the Default Authentication Cell
335
336 In some rare cases, you may want to authenticate to one cell, but keep using another cell as your home. You can do this by entering the authentication cell each time you obtain new tokens. If you intend to do it regularly, you can change it in the registry.
337
338 The value `Authentication Cell` (type string) in `HKEY_CURRENT_USER\SOFTWARE\OpenAFS\Client` can be set to another cell name than the default cell.
339
340 ### <a name="Changing the Parameters of AFS C"></a> Changing the Parameters of AFS Credentials Manager
341
342 When the AFS Credentials Manager starts, it recreates the Start Menu and Startup shortcuts to enforce the parameters given during installation. These parameters are stored as `AfscredsShortcutParams` in `SOFTWARE\OpenAFS\Client`. It can be set for both `HKEY_LOCAL_MACHINE` and for `HKEY_CURRENT_USER`. Default is `-A -M -N -Q`. See above for an explanation of these parameters.
343
344 ## <a name="Per Domain Options"></a> Per Domain Options
345
346 [[OpenAFS]] for Windows is now able to support domain-specific settings. Four of the settings in the previous section can be adjusted on a domain basis:
347
348 - Allowing More Time For the Service To Start
349 - Running a Logon Script
350 - Integrated Logon Usage
351 - Integrated Logon Silence
352
353 This is a new feature of [[OpenAFS]] 1.3.6, and is not yet supported by the configuration user interface. While being a usable feature, we choose to document, so that you can still use it. A new configuration interface is hopefully on its way.
354
355 All values that can be domain-specific are located under `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider`. Domains which want to have specific settings can create the subkey <tt>Domain\\_domain_\\</tt> and store the values there. The domain name is the logon domain, as specified in the Windows Login screen. A special domain, called `LOCALHOST`, is a placeholder for the local computer. Any other Active Directory or Kerberos realm should use its realm name for the key.
356
357 ### <a name="Resolution of Domain Specific Va"></a> Resolution of Domain Specific Values
358
359 As a consequence of this scheme, there must also be set rules for resolving which value to use. Let us use the following example in the discussion:
360
361     ...\NetworkProvider\  LogonOption = 1
362         Domain\                         LogonOption = 0
363                 OPENAFS.ORG\     LogonOption = 1
364                 MIT.EDU\
365                 LOCALHOST\              LogonOption = 0
366
367 If the specific domain key does not exist, then the `Domain` key will be ignored. All the configuration information in this case will come from the standard `NetworkProvider` key.
368
369 If the specific domain key exists, then the value will be looked up in the specific domain key, domains key and the NP key successively until the value is found. The first instance of the value found this way will be the effective for the login session. If no such instance can be found, the default will be used. in other words, a value in a more specific key supercedes a value in a less specific key.
370
371 Back to our example. Logging in to domain `OPENAFS.ORG` clearly enables the Integrated Logon. Logging on the local computer disables it. Logging in to `MIT.EDU` will also disable Integrated Logon, because the domain key exists, but misses a value. This resolves to using the value of `Domain\LogonOption`. However, logging in to `KTH.SE` would enable Integrated Logon. It is not listed as a domain, and thus the `NetworkProvider\LogonOption` is used. In order to retain backward-compatibility, there are two exceptions to this resolution order.
372
373 ### <a name="Exceptions To the Resolution Rul"></a> Exceptions To the Resolution Rule
374
375 Historically, the 'FailLoginsSilently' value was in `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters` key and not in the `NetworkProvider` key. Therefore, for backward compatibility, the value in the `Parameters` key will supercede all instances of this value in other keys. In the absence of this value in the `Parameters` key, normal scope rules apply.
376
377 The second exception is for the `LogonScript` value. If a `LogonScript` is not specified in the specific domain key nor in the `Domain` key, the value in the `NetworkProvider` key will only be checked if the effective `LogonOptions` specify a high security integrated login. If a logon script is specified in the specific domain key or the domains key, it will be used regardless of the high security setting. Please be aware of this when setting this value.
378
379 ## <a name="Windows Registry Keys of _OpenAF"></a> Windows Registry Keys of [[OpenAFS]]
380
381 During the preparation of this release of [[OpenAFS]], a lot of changes have been made to the way configuration is stored. The work is still not finished; the list of registry keys currently used can be found [here](http://web.mit.edu/~jaltman/Public/OpenAFS/registry.txt).