Leaked source code of windows server 2003
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.

668 lines
39 KiB

  1. ��<?xml version="1.0"?>
  2. <!-- XSD validation: should use schema location attributes instead of schema caches -->
  3. <!--<x:root xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' -->
  4. <!-- xsi:schemaLocation='http://xsdtesting t.xsd' -->
  5. <!-- xmlns:x='http://xsdtest' > -->
  6. <SSRKnowledgeBase>
  7. <!-- ****************************************************************************************************************** -->
  8. <!-- Description: -->
  9. <!-- The pre-processor munges this data with current system configuration and possibly a previous security policy -->
  10. <!-- to create an XML file (Main.XML) that drives the mainline UI -->
  11. <!-- ****************************************************************************************************************** -->
  12. <!-- ****************************************************************************************************************** -->
  13. <!-- Preprocessing algorithm - Must be run everytime the UI is invoked. -->
  14. <!-- -->
  15. <!-- Inputs: -->
  16. <!-- Security Mode - Must be one of the "Modes" supported by the KB. In this case Maximum or Typical. -->
  17. <!-- This parameter is used to determine default selection for satisfiable Roles as follows. -->
  18. <!-- Previously Created Security Policy - -->
  19. <!-- Path for output file - -->
  20. <!-- -->
  21. <!-- For each Role: -->
  22. <!-- If Role is satisfiable, then -->
  23. <!-- Role\Satisfiable = TRUE -->
  24. <!-- Role\Selected = MODE Value -->
  25. <!-- Else -->
  26. <!-- Role\Satisfiable = FALSE -->
  27. <!-- Role\Selected = FALSE -->
  28. <!-- Endif -->
  29. <!-- For each Service within the Role -->
  30. <!-- If Service is Required for Role, then -->
  31. <!-- Service\Select = TRUE (Thus the Select fields don't exist for services when Required=True -->
  32. <!-- Else -->
  33. <!-- Service\Select = MODE Value -->
  34. <!-- Endif -->
  35. <!-- Next Service -->
  36. <!-- Next Role -->
  37. <!-- -->
  38. <!-- MODE VALUE is (TRUE, FALSE, DEFAULT, CUSTOM) -->
  39. <!-- DEFAULT for Role\Selected returns TRUE iff all required services are installed and NOT disabled. -->
  40. <!-- DEFAULT for Service\Select returns TRUE iff service is optional, installed, and NOT disabled. -->
  41. <!-- -->
  42. <!-- Preprocessor needs to do other stuff too - see target UI file. -->
  43. <!-- ****************************************************************************************************************** -->
  44. <!-- ****************************************************************************************************************** -->
  45. <!-- BEST PRACTICE: -->
  46. <!-- For Service\Select, the MODE value should be either TRUE or FALSE. This will prevent the behavior where -->
  47. <!-- different services are defaulted in based on how the machine is configured. Such behavior isn't bad for Roles -->
  48. <!-- because the roles are in your face. Services however are less discoverable and this would make the offline -->
  49. <!-- case non-deterministic. Furthermore: -->
  50. <!-- Most optional components are required for their own roles. In these cases, the roles and their required -->
  51. <!-- services will be displayed and selected by default. DEFUALT and CUSTOM for services only buys you -->
  52. <!-- something when the service is optional and not required for the role yet it's installed and you want to catch it. -->
  53. <!-- In these cases, I say it's better to default the service to FALSE than to have it show up or not based on how -->
  54. <!-- the machine is configured. -->
  55. <!-- In short, the interpretation is that optional components, by their nature, are not typical, -->
  56. <!-- and thus are not selected by default (unless they are required for their own role). -->
  57. <!-- ****************************************************************************************************************** -->
  58. <!-- ****************************************************************************************************************** -->
  59. <!-- Notes: -->
  60. <!-- Optional means optional Windows component -->
  61. <!-- Required means Required for the Role -->
  62. <!-- If a Role has been selected, the required services for that role cannot be deselected. The user must -->
  63. <!-- go back and deselect the role. -->
  64. <!-- The Role Type attribute determines whether normal visibility rules are overriden in the UI -->
  65. <!-- - The UI should not display Independent roles in the role selection UI, HOWEVER, -->
  66. <!-- the independent roles are visible for filtering on the service tweaking page. -->
  67. <!-- A Service may belong to more that one role, once it's been "selected" by the user either explicitly or as -->
  68. <!-- a result of selecting a role, it should stay "selected" unless the user deselects it. -->
  69. <!-- unless the user explicitly turns it off. -->
  70. <!-- Due to the fact that no corporate customer probably wants the autoupdate service running, the hotfix portion of -->
  71. <!-- SSR will likely need to offer to START then START the autoupdate and dependent services in order to do the hotfix -->
  72. <!-- check. -->
  73. <!-- ****************************************************************************************************************** -->
  74. <!-- ****************************************************************************************************************** -->
  75. <!-- ToDo: -->
  76. <!-- Role Dependencies (Punt) -->
  77. <!-- Service Dependencies (needed for Offline Mode and to deal with the fact that SCM is not accurate) -->
  78. <!-- - Engine should probably combine SCM dependencies with KB dependencies to get the most accurate picture -->
  79. <!-- ****************************************************************************************************************** -->
  80. <!-- ****************************************************************************************************************** -->
  81. <!-- Revision History: -->
  82. <!-- This should be deleted before shipping -->
  83. <!-- 09/18/2001 - First Draft Service Component (kirksol) -->
  84. <!-- ****************************************************************************************************************** -->
  85. <Description>
  86. <Name> Microsoft </Name>
  87. <DisplayName> Microsoft </DisplayName>
  88. </Description>
  89. <SecurityLevels>
  90. <Level>
  91. <Name> Maximum </Name>
  92. <DisplayName> Maximimum </DisplayName>
  93. <DisplayText> Causes the wizard to choose the most secure settings by default. For example, when a role is selected, only the minimal services required to perform that role will be enabled by defualt. </DisplayText>
  94. </Level>
  95. <Level>
  96. <Name> Typical </Name>
  97. <DisplayName> Typical </DisplayName>
  98. <DisplayText> Causes the wizard to choose the most functional settings by default. For example, when a role is selected, the most common services related to that role will be enabled by default. </DisplayText>
  99. </Level>
  100. </SecurityLevels>
  101. <Roles>
  102. <Role Type="Independent">
  103. <Name> Core </Name>
  104. <Selected>
  105. <Maximum Value="TRUE"/>
  106. <Typical Value="TRUE"/>
  107. </Selected>
  108. <Services>
  109. <Service>
  110. <Name> EventLog </Name>
  111. <Required> TRUE </Required>
  112. <Select>
  113. <Maximum Value="TRUE"/>
  114. <Typical Value="TRUE"/>
  115. </Select>
  116. </Service>
  117. <Service>
  118. <Name> Netman </Name>
  119. <Required> TRUE </Required>
  120. <Select>
  121. <Maximum Value="TRUE"/>
  122. <Typical Value="TRUE"/>
  123. </Select>
  124. </Service>
  125. <Service>
  126. <Name> PlugPlay </Name>
  127. <Required> TRUE </Required>
  128. <Select>
  129. <Maximum Value="TRUE"/>
  130. <Typical Value="TRUE"/>
  131. </Select>
  132. </Service>
  133. <Service>
  134. <Name> RPCSs </Name>
  135. <Required> TRUE </Required>
  136. <Select>
  137. <Maximum Value="TRUE"/>
  138. <Typical Value="TRUE"/>
  139. </Select>
  140. </Service>
  141. <Service>
  142. <Name> SamSs </Name>
  143. <Required> TRUE </Required>
  144. <Select>
  145. <Maximum Value="TRUE"/>
  146. <Typical Value="TRUE"/>
  147. </Select>
  148. </Service>
  149. <Service>
  150. <Name> WinMgmt </Name>
  151. <Required> TRUE </Required>
  152. <Select>
  153. <Maximum Value="TRUE"/>
  154. <Typical Value="TRUE"/>
  155. </Select>
  156. </Service>
  157. </Services>
  158. </Role>
  159. <Role Type="Independent">
  160. <Name> Security </Name>
  161. <Selected>
  162. <Maximum Value="TRUE"/>
  163. <Typical Value="TRUE"/>
  164. </Selected>
  165. <Services>
  166. <Service>
  167. <Name> CryptSvc </Name>
  168. <Required> TRUE </Required>
  169. <Select>
  170. <Maximum Value="TRUE"/>
  171. <Typical Value="TRUE"/>
  172. </Select>
  173. </Service>
  174. <Service>
  175. <Name> NtLmSSP </Name>
  176. <Required> TRUE </Required>
  177. <Select>
  178. <Maximum Value="TRUE"/>
  179. <Typical Value="TRUE"/>
  180. </Select>
  181. </Service>
  182. <Service>
  183. <Name> PolicyAgent </Name>
  184. <Required> TRUE </Required>
  185. <Select>
  186. <Maximum Value="TRUE"/>
  187. <Typical Value="TRUE"/>
  188. </Select>
  189. </Service>
  190. <Service>
  191. <Name> ProtectedStorage </Name>
  192. <Required> TRUE </Required>
  193. <Select>
  194. <Maximum Value="TRUE"/>
  195. <Typical Value="TRUE"/>
  196. </Select>
  197. </Service>
  198. <Service>
  199. <Name> SCardDrv </Name>
  200. <Required> TRUE </Required>
  201. <Select>
  202. <Maximum Value="TRUE"/>
  203. <Typical Value="TRUE"/>
  204. </Select>
  205. </Service>
  206. <Service>
  207. <Name> SCardSvr </Name>
  208. <Required> TRUE </Required>
  209. <Select>
  210. <Maximum Value="TRUE"/>
  211. <Typical Value="TRUE"/>
  212. </Select>
  213. </Service>
  214. <Service>
  215. <Name> seclogon </Name>
  216. <Required> TRUE </Required>
  217. <Select>
  218. <Maximum Value="TRUE"/>
  219. <Typical Value="TRUE"/>
  220. </Select>
  221. </Service>
  222. </Services>
  223. </Role>
  224. <Role Type="Independent">
  225. <Name> Management </Name>
  226. <Selected>
  227. <Maximum Value="TRUE"/>
  228. <Typical Value="TRUE"/>
  229. </Selected>
  230. <Services>
  231. <Service>
  232. <Name> Alerter </Name>
  233. <Required> FALSE </Required>
  234. <Select>
  235. <Maximum Value="FALSE"/>
  236. <Typical Value="FALSE"/>
  237. </Select>
  238. </Service>
  239. <Service>
  240. <Name> BITS </Name>
  241. <Required> FALSE </Required>
  242. <Select>
  243. <Maximum Value="CUSTOM" FunctionName="AutoUpdateEnabled" DLLName="SSRHelper.DLL" />
  244. <Typical Value="CUSTOM" FunctionName="AutoUpdateEnabled" DLLName="SSRHelper.DLL"/>
  245. </Select>
  246. </Service>
  247. <Service>
  248. <Name> dmadmin </Name>
  249. <Required> FALSE </Required>
  250. <Select>
  251. <Maximum Value="FALSE"/>
  252. <Typical Value="TRUE"/>
  253. </Select>
  254. </Service>
  255. <Service>
  256. <Name> dmserver </Name>
  257. <Required> FALSE </Required>
  258. <Select>
  259. <Maximum Value="FALSE"/>
  260. <Typical Value="TRUE"/>
  261. </Select>
  262. </Service>
  263. <Service>
  264. <Name> helpsvc </Name>
  265. <Required> FALSE </Required>
  266. <Select>
  267. <Maximum Value="FALSE" />
  268. <Typical Value="CUSTOM" FunctionName="RemoteAssistanceEnabled" DLLName="SSRHelper.DLL"/>
  269. </Select>
  270. </Service>
  271. <Service>
  272. <Name> Messenger </Name>
  273. <Required> FALSE </Required>
  274. <Select>
  275. <Maximum Value="FALSE"/>
  276. <Typical Value="FALSE"/>
  277. </Select>
  278. </Service>
  279. <Service>
  280. <Name> NtmsSvc </Name>
  281. <Required> FALSE </Required>
  282. <Select>
  283. <Maximum Value="FALSE"/>
  284. <Typical Value="FALSE"/>
  285. </Select>
  286. </Service>
  287. <Service>
  288. <Name> ProcCon </Name>
  289. <Required> FALSE </Required>
  290. <Select>
  291. <Maximum Value="FALSE"/>
  292. <Typical Value="TRUE"/>
  293. </Select>
  294. </Service>
  295. <Service>
  296. <Name> RemoteRegistry </Name>
  297. <Required> FALSE </Required>
  298. <Select>
  299. <Maximum Value="FALSE"/>
  300. <Typical Value="TRUE"/>
  301. </Select>
  302. </Service>
  303. <Service>
  304. <Name> Schedule </Name>
  305. <Required> FALSE </Required>
  306. <Select>
  307. <Maximum Value="FALSE"/>
  308. <Typical Value="CUSTOM" FunctionName="TasksAreScheduled" DLLName="SSRHelper.DLL"/>
  309. </Select>
  310. </Service>
  311. <Service>
  312. <Name> SENS </Name>
  313. <Required> FALSE </Required>
  314. <Select>
  315. <Maximum Value="FALSE"/>
  316. <Typical Value="FALSE"/>
  317. </Select>
  318. </Service>
  319. <Service>
  320. <Name> SysmonLog </Name>
  321. <Required> FALSE </Required>
  322. <Select>
  323. <Maximum Value="FALSE"/>
  324. <Typical Value="CUSTOM" FunctionName="NonDefaultPerfLogsDefined" DLLName="SSRHelper.DLL"/>
  325. </Select>
  326. </Service>
  327. <Service>
  328. <Name> TlntSvr </Name>
  329. <Required> FALSE </Required>
  330. <Select>
  331. <Maximum Value="FALSE"/>
  332. <Typical Value="FALSE"/>
  333. </Select>
  334. </Service>
  335. <Service>
  336. <Name> UPS </Name>
  337. <Required> FALSE </Required>
  338. <Select>
  339. <Maximum Value="CUSTOM" FunctionName="UPSAttached" DLLName="SSRHelper.DLL"/>
  340. <Typical Value="CUSTOM" FunctionName="UPSAttached" DLLName="SSRHelper.DLL"/>
  341. </Select>
  342. </Service>
  343. <Service>
  344. <Name> wmi </Name>
  345. <Required> FALSE </Required>
  346. <Select>
  347. <Maximum Value="FALSE"/>
  348. <Typical Value="TRUE"/>
  349. </Select>
  350. </Service>
  351. <Service>
  352. <Name> WmiApSrv </Name>
  353. <Required> FALSE </Required>
  354. <Select>
  355. <Maximum Value="FALSE"/>
  356. <Typical Value="TRUE"/>
  357. </Select>
  358. </Service>
  359. <Service>
  360. <Name> wuauserv </Name>
  361. <Required> FALSE </Required>
  362. <Select>
  363. <Maximum Value="FALSE"/>
  364. <Typical Value="TRUE"/>
  365. </Select>
  366. </Service>
  367. <Service>
  368. <Name> WZCSVC </Name>
  369. <Required> FALSE </Required>
  370. <Select>
  371. <Maximum Value="FALSE"/>
  372. <Typical Value="FALSE"/>
  373. </Select>
  374. </Service>
  375. </Services>
  376. </Role>
  377. <Role Type="Independent">
  378. <Name> Independent </Name>
  379. <Selected>
  380. <Maximum Value="TRUE" />
  381. <Typical Value="TRUE" />
  382. </Selected>
  383. <Services>
  384. <Service>
  385. <Name> ClipSrv </Name>
  386. <Required> FALSE </Required>
  387. <Select>
  388. <Maximum Value="FALSE"/>
  389. <Typical Value="FALSE"/>
  390. </Select>
  391. </Service>
  392. <!-- ... -->
  393. </Services>
  394. </Role>
  395. <Role Type="Server">
  396. <Name> CertServer </Name>
  397. <Selected>
  398. <Maximum Value="FALSE"/>
  399. <Typical Value="TRUE" />
  400. </Selected>
  401. <Services>
  402. <Service>
  403. <Name> CertSvc </Name>
  404. <Required> TRUE </Required>
  405. <Select>
  406. <Maximum Value="TRUE"/>
  407. <Typical Value="TRUE"/>
  408. </Select>
  409. </Service>
  410. </Services>
  411. </Role>
  412. <Role Type="Server">
  413. <Name> DomainMember </Name>
  414. <Selected>
  415. <Maximum Value="FALSE" />
  416. <Typical Value="CUSTOM" FunctionName="IsDomainMember" DLLName="SSRHelper.DLL" />
  417. </Selected>
  418. <Services>
  419. <Service>
  420. <Name> AppMgmt </Name>
  421. <Required> FALSE </Required>
  422. <Select>
  423. <Maximum Value="FALSE"/>
  424. <Typical Value="TRUE" />
  425. </Select>
  426. </Service>
  427. <Service>
  428. <Name> lanmanworkstation </Name>
  429. <Required> TRUE </Required>
  430. <Select>
  431. <Maximum Value="TRUE"/>
  432. <Typical Value="TRUE"/>
  433. </Select>
  434. </Service>
  435. <Service>
  436. <Name> Netlogon </Name>
  437. <Required> TRUE </Required>
  438. <Select>
  439. <Maximum Value="TRUE"/>
  440. <Typical Value="TRUE"/>
  441. </Select>
  442. </Service>
  443. <Service>
  444. <Name> RSoPProv </Name>
  445. <Required> FALSE </Required>
  446. <Select>
  447. <Maximum Value="FALSE"/>
  448. <Typical Value="TRUE"/>
  449. </Select>
  450. </Service>
  451. <Service>
  452. <Name> W32Time </Name>
  453. <Required> TRUE </Required>
  454. <Select>
  455. <Maximum Value="TRUE"/>
  456. <Typical Value="TRUE"/>
  457. </Select>
  458. </Service>
  459. </Services>
  460. </Role>
  461. <Role Type="Server">
  462. <Name> Print </Name>
  463. <Selected>
  464. <Maximum Value="FALSE"/>
  465. <Typical Value="CUSTOM" FunctionName="PrintSharesExist" DLLName="SSRHelper.DLL"/>
  466. </Selected>
  467. <Services>
  468. <Service>
  469. <Name> Spooler </Name>
  470. <Required> TRUE </Required>
  471. <Select>
  472. <Maximum Value="TRUE"/>
  473. <Typical Value="TRUE"/>
  474. </Select>
  475. </Service>
  476. <Service>
  477. <Name> lanmanserver </Name>
  478. <Required> TRUE </Required>
  479. <Select>
  480. <Maximum Value="TRUE"/>
  481. <Typical Value="TRUE"/>
  482. </Select>
  483. </Service>
  484. <Service>
  485. <Name> MacPrint </Name>
  486. <Required> FALSE </Required>
  487. <Select>
  488. <Maximum Value="FALSE"/>
  489. <Typical Value="DEFAULT"/>
  490. </Select>
  491. </Service>
  492. </Services>
  493. </Role>
  494. <Role Type="Server">
  495. <Name> WEB </Name>
  496. <Selected>
  497. <Maximum Value="FALSE"/>
  498. <Typical Value="DEFAULT"/> <!-- Assuming IIS is disabled or not installed by default -->
  499. </Selected>
  500. <Services>
  501. <Service>
  502. <Name> IISAdmin </Name>
  503. <Required> TRUE </Required>
  504. <Select>
  505. <Maximum Value="TRUE"/>
  506. <Typical Value="TRUE"/>
  507. </Select>
  508. </Service>
  509. <Service>
  510. <Name> W3SSL </Name>
  511. <Required> TRUE </Required>
  512. <Select>
  513. <Maximum Value="TRUE"/>
  514. <Typical Value="TRUE"/>
  515. </Select>
  516. </Service>
  517. <Service>
  518. <Name> W3SVC </Name>
  519. <Required> TRUE </Required>
  520. <Select>
  521. <Maximum Value="TRUE"/>
  522. <Typical Value="TRUE"/>
  523. </Select>
  524. </Service>
  525. </Services>
  526. </Role>
  527. <Role Type="Client">
  528. <Name> WINSClient </Name>
  529. <Selected>
  530. <Maximum Value="FALSE" />
  531. <Typical Value="CUSTOM" FunctionName="IsWINSClient" DLLName="SSRHelper.DLL" />
  532. </Selected>
  533. <Services>
  534. <Service>
  535. <Name> lmhosts </Name>
  536. <Required> TRUE </Required>
  537. <Select>
  538. <Maximum Value="TRUE" />
  539. <Typical Value="TRUE" />
  540. </Select>
  541. </Service>
  542. <Service>
  543. <Name> NetBT </Name>
  544. <Required> TRUE </Required>
  545. <Select>
  546. <Maximum Value="TRUE" />
  547. <Typical Value="TRUE" />
  548. </Select>
  549. </Service>
  550. </Services>
  551. </Role>
  552. <Role Type="Server">
  553. <Name> Other </Name>
  554. <Selected>
  555. <Maximum Value="FALSE" />
  556. <Typical Value="CUSTOM" FunctionName="ServicesFoundThatAreNotinKB" DLLName="SSRHelper.DLL" />
  557. </Selected>
  558. <Services>
  559. <Service>
  560. <Name> MSIServer </Name>
  561. <Required> FALSE </Required>
  562. <Select>
  563. <Maximum Value="FALSE" />
  564. <Typical Value="TRUE" />
  565. </Select>
  566. </Service>
  567. <Service>
  568. <Name> COMSysApp </Name>
  569. <Required> FALSE </Required>
  570. <Select>
  571. <Maximum Value="FALSE"/>
  572. <Typical Value="TRUE"/>
  573. </Select>
  574. </Service>
  575. <Service>
  576. <Name> EventSystem </Name>
  577. <Required> FALSE </Required>
  578. <Select>
  579. <Maximum Value="FALSE"/>
  580. <Typical Value="TRUE"/>
  581. </Select>
  582. </Service>
  583. <Service>
  584. <Name> MSDTC </Name>
  585. <Required> FALSE </Required>
  586. <Select>
  587. <Maximum Value="FALSE"/>
  588. <Typical Value="TRUE"/>
  589. </Select>
  590. </Service>
  591. </Services>
  592. </Role>
  593. </Roles>
  594. <Questions>
  595. <Question>
  596. <Name> Backup </Name>
  597. <Services>
  598. <Service>
  599. <Name> SwPrv </Name>
  600. </Service>
  601. <Service>
  602. <Name> VSS </Name>
  603. </Service>
  604. <Service>
  605. <Name> COMSysApp </Name>
  606. </Service>
  607. <Service>
  608. <Name> EventSystem </Name>
  609. </Service>
  610. <Service>
  611. <Name> MSDTC </Name>
  612. </Service>
  613. </Services>
  614. </Question>
  615. <Question>
  616. <Name> RemoteRegistry </Name>
  617. <Services>
  618. <Service>
  619. <Name> lanmanserver </Name>
  620. </Service>
  621. <Service>
  622. <Name> RemoteRegistry </Name>
  623. </Service>
  624. </Services>
  625. </Question>
  626. <Question>
  627. <Name> AutoUpdate </Name>
  628. <Services>
  629. <Service>
  630. <Name> BITS </Name>
  631. </Service>
  632. <Service>
  633. <Name> wuauserv </Name>
  634. </Service>
  635. </Services>
  636. </Question>
  637. <Question>
  638. <Name> LDM </Name>
  639. <Services>
  640. <Service>
  641. <Name> dmserver </Name>
  642. </Service>
  643. <Service>
  644. <Name> dmadmin </Name>
  645. </Service>
  646. </Services>
  647. </Question>
  648. </Questions>
  649. </SSRKnowledgeBase>