MegaBites-AI/Windows-powershell
0372
1// Copyright (c) Microsoft Corporation.2// Licensed under the MIT License.3 4using System;5using System.IO;6using System.Management.Automation;7using System.Management.Automation.Configuration;8using System.Management.Automation.Internal;9using System.Reflection;10using System.Threading;11using Newtonsoft.Json;12using Newtonsoft.Json.Linq;13using PSTests.Internal;14using Xunit;15 16namespace PSTests.Sequential17{18 [TestCaseOrderer("TestOrder.TestCaseOrdering.PriorityOrderer", "powershell-tests")]19 public class PowerShellPolicyFixture : IDisposable20 {21 private const string ConfigFileName = "powershell.config.json";22 23 private readonly string systemWideConfigFile;24 private readonly string currentUserConfigFile;25 26 private readonly string systemWideConfigBackupFile;27 private readonly string currentUserConfigBackupFile;28 29 private readonly string systemWideConfigDirectory;30 private readonly string currentUserConfigDirectory;31 32 private readonly JsonSerializer serializer;33 34 private readonly PowerShellPolicies systemWidePolicies;35 private readonly PowerShellPolicies currentUserPolicies;36 37 private readonly bool originalTestHookValue;38 39 public PowerShellPolicyFixture()40 {41 systemWideConfigDirectory = Utils.DefaultPowerShellAppBase;42 currentUserConfigDirectory = Platform.ConfigDirectory;43 44 if (!Directory.Exists(currentUserConfigDirectory))45 {46 // Create the CurrentUser config directory if it doesn't exist47 Directory.CreateDirectory(currentUserConfigDirectory);48 }49 50 systemWideConfigFile = Path.Combine(systemWideConfigDirectory, ConfigFileName);51 currentUserConfigFile = Path.Combine(currentUserConfigDirectory, ConfigFileName);52 53 if (File.Exists(systemWideConfigFile))54 {55 systemWideConfigBackupFile = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());56 File.Move(systemWideConfigFile, systemWideConfigBackupFile);57 }58 59 if (File.Exists(currentUserConfigFile))60 {61 currentUserConfigBackupFile = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());62 File.Move(currentUserConfigFile, currentUserConfigBackupFile);63 }64 65 var settings = new JsonSerializerSettings()66 {67 TypeNameHandling = TypeNameHandling.None,68 MaxDepth = 10,69 Formatting = Formatting.Indented,70 NullValueHandling = NullValueHandling.Ignore71 };72 serializer = JsonSerializer.Create(settings);73 74 systemWidePolicies = new PowerShellPolicies()75 {76 ScriptExecution = new ScriptExecution() { ExecutionPolicy = "RemoteSigned", EnableScripts = true },77 ScriptBlockLogging = new ScriptBlockLogging() { EnableScriptBlockInvocationLogging = true, EnableScriptBlockLogging = false },78 ModuleLogging = new ModuleLogging() { EnableModuleLogging = false, ModuleNames = new string[] { "PSReadline", "PowerShellGet" } },79 ProtectedEventLogging = new ProtectedEventLogging() { EnableProtectedEventLogging = false, EncryptionCertificate = new string[] { "Joe" } },80 Transcription = new Transcription() { EnableInvocationHeader = true, EnableTranscripting = true, OutputDirectory = @"c:\tmp" },81 UpdatableHelp = new UpdatableHelp() { DefaultSourcePath = @"f:\temp" },82 ConsoleSessionConfiguration = new ConsoleSessionConfiguration() { EnableConsoleSessionConfiguration = true, ConsoleSessionConfigurationName = "name" }83 };84 85 currentUserPolicies = new PowerShellPolicies()86 {87 ScriptExecution = new ScriptExecution() { ExecutionPolicy = "RemoteSigned" },88 ScriptBlockLogging = new ScriptBlockLogging() { EnableScriptBlockLogging = false },89 ModuleLogging = new ModuleLogging() { EnableModuleLogging = false },90 ProtectedEventLogging = new ProtectedEventLogging() { EncryptionCertificate = new string[] { "Joe" } }91 };92 93 // Set the test hook to disable policy caching94 originalTestHookValue = InternalTestHooks.BypassGroupPolicyCaching;95 InternalTestHooks.BypassGroupPolicyCaching = true;96 }97 98 public void Dispose()99 {100 Dispose(true);101 GC.SuppressFinalize(this);102 }103 104 protected virtual void Dispose(bool disposing)105 {106 if (disposing)107 {108 CleanupConfigFiles();109 if (systemWideConfigBackupFile != null)110 {111 File.Move(systemWideConfigBackupFile, systemWideConfigFile);112 }113 114 if (currentUserConfigBackupFile != null)115 {116 File.Move(currentUserConfigBackupFile, currentUserConfigFile);117 }118 119 InternalTestHooks.BypassGroupPolicyCaching = originalTestHookValue;120 }121 }122 123 internal PowerShellPolicies SystemWidePolicies124 {125 get { return systemWidePolicies; }126 }127 128 internal PowerShellPolicies CurrentUserPolicies129 {130 get { return currentUserPolicies; }131 }132 133 #region Compare_Policy_Settings134 135 internal void CompareScriptExecution(ScriptExecution a, ScriptExecution b)136 {137 if (a == null)138 {139 Assert.Null(b);140 }141 else142 {143 Assert.Equal(a.EnableScripts, b.EnableScripts);144 Assert.Equal(a.ExecutionPolicy, b.ExecutionPolicy);145 }146 }147 148 internal void CompareScriptBlockLogging(ScriptBlockLogging a, ScriptBlockLogging b)149 {150 if (a == null)151 {152 Assert.Null(b);153 }154 else155 {156 Assert.Equal(a.EnableScriptBlockInvocationLogging, b.EnableScriptBlockInvocationLogging);157 Assert.Equal(a.EnableScriptBlockLogging, b.EnableScriptBlockLogging);158 }159 }160 161 internal void CompareModuleLogging(ModuleLogging a, ModuleLogging b)162 {163 if (a == null)164 {165 Assert.Null(b);166 }167 else168 {169 Assert.Equal(a.EnableModuleLogging, b.EnableModuleLogging);170 if (a.ModuleNames == null)171 {172 Assert.Null(b.ModuleNames);173 }174 else175 {176 Assert.Equal(a.ModuleNames.Length, b.ModuleNames.Length);177 for (int i = 0; i < a.ModuleNames.Length; i++)178 {179 Assert.Equal(a.ModuleNames[i], b.ModuleNames[i]);180 }181 }182 }183 }184 185 internal void CompareProtectedEventLogging(ProtectedEventLogging a, ProtectedEventLogging b)186 {187 if (a == null)188 {189 Assert.Null(b);190 }191 else192 {193 Assert.Equal(a.EnableProtectedEventLogging, b.EnableProtectedEventLogging);194 if (a.EncryptionCertificate == null)195 {196 Assert.Null(b.EncryptionCertificate);197 }198 else199 {200 Assert.Equal(a.EncryptionCertificate.Length, b.EncryptionCertificate.Length);201 for (int i = 0; i < a.EncryptionCertificate.Length; i++)202 {203 Assert.Equal(a.EncryptionCertificate[i], b.EncryptionCertificate[i]);204 }205 }206 }207 }208 209 internal void CompareTranscription(Transcription a, Transcription b)210 {211 if (a == null)212 {213 Assert.Null(b);214 }215 else216 {217 Assert.Equal(a.EnableTranscripting, b.EnableTranscripting);218 Assert.Equal(a.EnableInvocationHeader, b.EnableInvocationHeader);219 Assert.Equal(a.OutputDirectory, b.OutputDirectory);220 }221 }222 223 internal void CompareUpdatableHelp(UpdatableHelp a, UpdatableHelp b)224 {225 if (a == null)226 {227 Assert.Null(b);228 }229 else230 {231 Assert.Equal(a.DefaultSourcePath, b.DefaultSourcePath);232 }233 }234 235 internal void CompareConsoleSessionConfiguration(ConsoleSessionConfiguration a, ConsoleSessionConfiguration b)236 {237 if (a == null)238 {239 Assert.Null(b);240 }241 else242 {243 Assert.Equal(a.EnableConsoleSessionConfiguration, b.EnableConsoleSessionConfiguration);244 Assert.Equal(a.ConsoleSessionConfigurationName, b.ConsoleSessionConfigurationName);245 }246 }247 248 internal void CompareTwoPolicies(PowerShellPolicies a, PowerShellPolicies b)249 {250 // Compare 'ScriptExecution' settings251 CompareScriptExecution(a.ScriptExecution, b.ScriptExecution);252 253 // Compare 'ScriptBlockLogging' settings254 CompareScriptBlockLogging(a.ScriptBlockLogging, b.ScriptBlockLogging);255 256 // Compare 'ModuleLogging' settings257 CompareModuleLogging(a.ModuleLogging, b.ModuleLogging);258 259 // Compare 'ProtectedEventLogging' settings260 CompareProtectedEventLogging(a.ProtectedEventLogging, b.ProtectedEventLogging);261 262 // Compare 'Transcription' settings263 CompareTranscription(a.Transcription, b.Transcription);264 265 // Compare 'UpdatableHelp' settings266 CompareUpdatableHelp(a.UpdatableHelp, b.UpdatableHelp);267 268 // Compare 'ConsoleSessionConfiguration' settings269 CompareConsoleSessionConfiguration(a.ConsoleSessionConfiguration, b.ConsoleSessionConfiguration);270 }271 272 #endregion273 274 #region Configuration_File_Setup275 276 public void CleanupConfigFiles()277 {278 var maxPause = 10;279 280 while (maxPause-- != 0 && (File.Exists(systemWideConfigFile) || File.Exists(currentUserConfigFile)))281 {282 var pause = false;283 284 try285 {286 File.Delete(systemWideConfigFile);287 }288 catch (IOException)289 {290 pause = true;291 }292 293 try294 {295 File.Delete(currentUserConfigFile);296 }297 catch (IOException)298 {299 pause = true;300 }301 302 if (pause)303 {304 Thread.Sleep(5);305 }306 }307 }308 309 public void SetupConfigFile1()310 {311 CleanupConfigFiles();312 313 // System wide config file has all policy settings314 var systemWideConfig = new { ConsolePrompting = true, PowerShellPolicies = systemWidePolicies };315 using (var streamWriter = new StreamWriter(systemWideConfigFile))316 {317 serializer.Serialize(streamWriter, systemWideConfig);318 }319 320 // Current user config file has partial policy settings321 var currentUserConfig = new { DisablePromptToUpdateHelp = false, PowerShellPolicies = currentUserPolicies };322 using (var streamWriter = new StreamWriter(currentUserConfigFile))323 {324 serializer.Serialize(streamWriter, currentUserConfig);325 }326 }327 328 public void SetupConfigFile2()329 {330 CleanupConfigFiles();331 332 // System wide config file has all policy settings333 var systemWideConfig = new { ConsolePrompting = true, PowerShellPolicies = systemWidePolicies };334 using (var streamWriter = new StreamWriter(systemWideConfigFile))335 {336 serializer.Serialize(streamWriter, systemWideConfig);337 }338 339 // Current user config file is empty340 CreateEmptyFile(currentUserConfigFile);341 }342 343 public void SetupConfigFile3()344 {345 CleanupConfigFiles();346 347 // System wide config file is empty348 CreateEmptyFile(systemWideConfigFile);349 350 // Current user config file has partial policy settings351 var currentUserConfig = new { DisablePromptToUpdateHelp = false, PowerShellPolicies = currentUserPolicies };352 using (var streamWriter = new StreamWriter(currentUserConfigFile))353 {354 serializer.Serialize(streamWriter, currentUserConfig);355 }356 }357 358 public void SetupConfigFile4()359 {360 CleanupConfigFiles();361 362 // System wide config file is empty363 CreateEmptyFile(systemWideConfigFile);364 365 // Current user config file is empty366 CreateEmptyFile(currentUserConfigFile);367 }368 369 private static void CreateEmptyFile(string fileName)370 {371 File.Create(fileName).Dispose();372 }373 374 public void SetupConfigFile5()375 {376 CleanupConfigFiles();377 378 // System wide config file is broken379 CreateBrokenConfigFile(systemWideConfigFile);380 381 // Current user config file is broken382 CreateBrokenConfigFile(currentUserConfigFile);383 }384 385 private static void CreateBrokenConfigFile(string fileName)386 {387 File.WriteAllText(fileName, "[abbra");388 }389 390 internal void ForceReadingFromFile()391 {392 // Reset the cached roots.393 FieldInfo roots = typeof(PowerShellConfig).GetField("configRoots", BindingFlags.NonPublic | BindingFlags.Instance);394 JObject[] value = (JObject[])roots.GetValue(PowerShellConfig.Instance);395 value[0] = null;396 value[1] = null;397 }398 399 #endregion400 }401 402 public class PowerShellPolicyTests : IClassFixture<PowerShellPolicyFixture>403 {404 private readonly PowerShellPolicyFixture fixture;405 406 public PowerShellPolicyTests(PowerShellPolicyFixture fixture)407 {408 this.fixture = fixture;409 }410 411 [Fact, Priority(1)]412 public void PowerShellConfig_GetPowerShellPolicies_BothConfigFilesNotEmpty()413 {414 fixture.SetupConfigFile1();415 fixture.ForceReadingFromFile();416 417 var sysPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers);418 var userPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser);419 420 Assert.NotNull(sysPolicies);421 Assert.NotNull(userPolicies);422 423 fixture.CompareTwoPolicies(sysPolicies, fixture.SystemWidePolicies);424 fixture.CompareTwoPolicies(userPolicies, fixture.CurrentUserPolicies);425 }426 427 [Fact, Priority(2)]428 public void PowerShellConfig_GetPowerShellPolicies_EmptyUserConfig()429 {430 fixture.SetupConfigFile2();431 fixture.ForceReadingFromFile();432 433 var sysPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers);434 var userPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser);435 436 Assert.NotNull(sysPolicies);437 Assert.Null(userPolicies);438 439 fixture.CompareTwoPolicies(sysPolicies, fixture.SystemWidePolicies);440 }441 442 [Fact, Priority(3)]443 public void PowerShellConfig_GetPowerShellPolicies_EmptySystemConfig()444 {445 fixture.SetupConfigFile3();446 fixture.ForceReadingFromFile();447 448 var sysPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers);449 var userPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser);450 451 Assert.Null(sysPolicies);452 Assert.NotNull(userPolicies);453 454 fixture.CompareTwoPolicies(userPolicies, fixture.CurrentUserPolicies);455 }456 457 [Fact, Priority(4)]458 public void PowerShellConfig_GetPowerShellPolicies_BothConfigFilesEmpty()459 {460 fixture.SetupConfigFile4();461 fixture.ForceReadingFromFile();462 463 var sysPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers);464 var userPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser);465 466 Assert.Null(sysPolicies);467 Assert.Null(userPolicies);468 }469 470 [Fact, Priority(5)]471 public void PowerShellConfig_GetPowerShellPolicies_BothConfigFilesNotExist()472 {473 fixture.CleanupConfigFiles();474 fixture.ForceReadingFromFile();475 476 var sysPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers);477 var userPolicies = PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser);478 479 Assert.Null(sysPolicies);480 Assert.Null(userPolicies);481 }482 483 [Fact, Priority(6)]484 public void Utils_GetPolicySetting_BothConfigFilesNotEmpty()485 {486 fixture.SetupConfigFile1();487 fixture.ForceReadingFromFile();488 489 ScriptExecution scriptExecution;490 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideOnlyConfig);491 fixture.CompareScriptExecution(scriptExecution, fixture.SystemWidePolicies.ScriptExecution);492 493 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserOnlyConfig);494 fixture.CompareScriptExecution(scriptExecution, fixture.CurrentUserPolicies.ScriptExecution);495 496 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideThenCurrentUserConfig);497 fixture.CompareScriptExecution(scriptExecution, fixture.SystemWidePolicies.ScriptExecution);498 499 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserThenSystemWideConfig);500 fixture.CompareScriptExecution(scriptExecution, fixture.CurrentUserPolicies.ScriptExecution);501 502 ScriptBlockLogging scriptBlockLogging;503 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideOnlyConfig);504 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.SystemWidePolicies.ScriptBlockLogging);505 506 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserOnlyConfig);507 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.CurrentUserPolicies.ScriptBlockLogging);508 509 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideThenCurrentUserConfig);510 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.SystemWidePolicies.ScriptBlockLogging);511 512 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserThenSystemWideConfig);513 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.CurrentUserPolicies.ScriptBlockLogging);514 515 ModuleLogging moduleLogging;516 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideOnlyConfig);517 fixture.CompareModuleLogging(moduleLogging, fixture.SystemWidePolicies.ModuleLogging);518 519 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserOnlyConfig);520 fixture.CompareModuleLogging(moduleLogging, fixture.CurrentUserPolicies.ModuleLogging);521 522 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideThenCurrentUserConfig);523 fixture.CompareModuleLogging(moduleLogging, fixture.SystemWidePolicies.ModuleLogging);524 525 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserThenSystemWideConfig);526 fixture.CompareModuleLogging(moduleLogging, fixture.CurrentUserPolicies.ModuleLogging);527 528 ProtectedEventLogging protectedEventLogging;529 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideOnlyConfig);530 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.SystemWidePolicies.ProtectedEventLogging);531 532 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserOnlyConfig);533 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.CurrentUserPolicies.ProtectedEventLogging);534 535 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideThenCurrentUserConfig);536 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.SystemWidePolicies.ProtectedEventLogging);537 538 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserThenSystemWideConfig);539 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.CurrentUserPolicies.ProtectedEventLogging);540 541 // The CurrentUser config doesn't contain any settings for 'Transcription', 'UpdatableHelp' and 'ConsoleSessionConfiguration'542 Transcription transcription;543 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideOnlyConfig);544 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);545 546 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserOnlyConfig);547 fixture.CompareTranscription(transcription, null);548 549 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideThenCurrentUserConfig);550 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);551 552 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserThenSystemWideConfig);553 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);554 555 UpdatableHelp updatableHelp;556 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideOnlyConfig);557 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);558 559 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserOnlyConfig);560 fixture.CompareUpdatableHelp(updatableHelp, null);561 562 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideThenCurrentUserConfig);563 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);564 565 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserThenSystemWideConfig);566 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);567 568 ConsoleSessionConfiguration consoleSessionConfiguration;569 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideOnlyConfig);570 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);571 572 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserOnlyConfig);573 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);574 575 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideThenCurrentUserConfig);576 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);577 578 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserThenSystemWideConfig);579 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);580 }581 582 [Fact, Priority(7)]583 public void Utils_GetPolicySetting_EmptyUserConfig()584 {585 fixture.SetupConfigFile2();586 fixture.ForceReadingFromFile();587 588 // The CurrentUser config is empty589 ScriptExecution scriptExecution;590 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideOnlyConfig);591 fixture.CompareScriptExecution(scriptExecution, fixture.SystemWidePolicies.ScriptExecution);592 593 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserOnlyConfig);594 fixture.CompareScriptExecution(scriptExecution, null);595 596 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideThenCurrentUserConfig);597 fixture.CompareScriptExecution(scriptExecution, fixture.SystemWidePolicies.ScriptExecution);598 599 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserThenSystemWideConfig);600 fixture.CompareScriptExecution(scriptExecution, fixture.SystemWidePolicies.ScriptExecution);601 602 ScriptBlockLogging scriptBlockLogging;603 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideOnlyConfig);604 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.SystemWidePolicies.ScriptBlockLogging);605 606 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserOnlyConfig);607 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);608 609 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideThenCurrentUserConfig);610 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.SystemWidePolicies.ScriptBlockLogging);611 612 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserThenSystemWideConfig);613 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.SystemWidePolicies.ScriptBlockLogging);614 615 ModuleLogging moduleLogging;616 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideOnlyConfig);617 fixture.CompareModuleLogging(moduleLogging, fixture.SystemWidePolicies.ModuleLogging);618 619 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserOnlyConfig);620 fixture.CompareModuleLogging(moduleLogging, null);621 622 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideThenCurrentUserConfig);623 fixture.CompareModuleLogging(moduleLogging, fixture.SystemWidePolicies.ModuleLogging);624 625 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserThenSystemWideConfig);626 fixture.CompareModuleLogging(moduleLogging, fixture.SystemWidePolicies.ModuleLogging);627 628 ProtectedEventLogging protectedEventLogging;629 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideOnlyConfig);630 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.SystemWidePolicies.ProtectedEventLogging);631 632 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserOnlyConfig);633 fixture.CompareProtectedEventLogging(protectedEventLogging, null);634 635 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideThenCurrentUserConfig);636 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.SystemWidePolicies.ProtectedEventLogging);637 638 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserThenSystemWideConfig);639 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.SystemWidePolicies.ProtectedEventLogging);640 641 Transcription transcription;642 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideOnlyConfig);643 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);644 645 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserOnlyConfig);646 fixture.CompareTranscription(transcription, null);647 648 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideThenCurrentUserConfig);649 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);650 651 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserThenSystemWideConfig);652 fixture.CompareTranscription(transcription, fixture.SystemWidePolicies.Transcription);653 654 UpdatableHelp updatableHelp;655 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideOnlyConfig);656 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);657 658 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserOnlyConfig);659 fixture.CompareUpdatableHelp(updatableHelp, null);660 661 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideThenCurrentUserConfig);662 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);663 664 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserThenSystemWideConfig);665 fixture.CompareUpdatableHelp(updatableHelp, fixture.SystemWidePolicies.UpdatableHelp);666 667 ConsoleSessionConfiguration consoleSessionConfiguration;668 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideOnlyConfig);669 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);670 671 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserOnlyConfig);672 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);673 674 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideThenCurrentUserConfig);675 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);676 677 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserThenSystemWideConfig);678 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, fixture.SystemWidePolicies.ConsoleSessionConfiguration);679 }680 681 [Fact, Priority(8)]682 public void Utils_GetPolicySetting_EmptySystemConfig()683 {684 fixture.SetupConfigFile3();685 fixture.ForceReadingFromFile();686 687 // The SystemWide config is empty688 ScriptExecution scriptExecution;689 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideOnlyConfig);690 fixture.CompareScriptExecution(scriptExecution, null);691 692 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserOnlyConfig);693 fixture.CompareScriptExecution(scriptExecution, fixture.CurrentUserPolicies.ScriptExecution);694 695 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideThenCurrentUserConfig);696 fixture.CompareScriptExecution(scriptExecution, fixture.CurrentUserPolicies.ScriptExecution);697 698 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserThenSystemWideConfig);699 fixture.CompareScriptExecution(scriptExecution, fixture.CurrentUserPolicies.ScriptExecution);700 701 ScriptBlockLogging scriptBlockLogging;702 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideOnlyConfig);703 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);704 705 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserOnlyConfig);706 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.CurrentUserPolicies.ScriptBlockLogging);707 708 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideThenCurrentUserConfig);709 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.CurrentUserPolicies.ScriptBlockLogging);710 711 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserThenSystemWideConfig);712 fixture.CompareScriptBlockLogging(scriptBlockLogging, fixture.CurrentUserPolicies.ScriptBlockLogging);713 714 ModuleLogging moduleLogging;715 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideOnlyConfig);716 fixture.CompareModuleLogging(moduleLogging, null);717 718 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserOnlyConfig);719 fixture.CompareModuleLogging(moduleLogging, fixture.CurrentUserPolicies.ModuleLogging);720 721 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideThenCurrentUserConfig);722 fixture.CompareModuleLogging(moduleLogging, fixture.CurrentUserPolicies.ModuleLogging);723 724 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserThenSystemWideConfig);725 fixture.CompareModuleLogging(moduleLogging, fixture.CurrentUserPolicies.ModuleLogging);726 727 ProtectedEventLogging protectedEventLogging;728 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideOnlyConfig);729 fixture.CompareProtectedEventLogging(protectedEventLogging, null);730 731 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserOnlyConfig);732 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.CurrentUserPolicies.ProtectedEventLogging);733 734 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideThenCurrentUserConfig);735 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.CurrentUserPolicies.ProtectedEventLogging);736 737 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserThenSystemWideConfig);738 fixture.CompareProtectedEventLogging(protectedEventLogging, fixture.CurrentUserPolicies.ProtectedEventLogging);739 740 // The CurrentUser config doesn't contain any settings for 'Transcription', 'UpdatableHelp' and 'ConsoleSessionConfiguration'741 Transcription transcription;742 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideOnlyConfig);743 fixture.CompareTranscription(transcription, null);744 745 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserOnlyConfig);746 fixture.CompareTranscription(transcription, null);747 748 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideThenCurrentUserConfig);749 fixture.CompareTranscription(transcription, null);750 751 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserThenSystemWideConfig);752 fixture.CompareTranscription(transcription, null);753 754 UpdatableHelp updatableHelp;755 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideOnlyConfig);756 fixture.CompareUpdatableHelp(updatableHelp, null);757 758 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserOnlyConfig);759 fixture.CompareUpdatableHelp(updatableHelp, null);760 761 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideThenCurrentUserConfig);762 fixture.CompareUpdatableHelp(updatableHelp, null);763 764 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserThenSystemWideConfig);765 fixture.CompareUpdatableHelp(updatableHelp, null);766 767 ConsoleSessionConfiguration consoleSessionConfiguration;768 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideOnlyConfig);769 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);770 771 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserOnlyConfig);772 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);773 774 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideThenCurrentUserConfig);775 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);776 777 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserThenSystemWideConfig);778 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);779 }780 781 [Fact, Priority(9)]782 public void Utils_GetPolicySetting_BothConfigFilesEmpty()783 {784 fixture.SetupConfigFile4();785 fixture.ForceReadingFromFile();786 787 // Both config files are empty788 ScriptExecution scriptExecution;789 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideOnlyConfig);790 fixture.CompareScriptExecution(scriptExecution, null);791 792 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserOnlyConfig);793 fixture.CompareScriptExecution(scriptExecution, null);794 795 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideThenCurrentUserConfig);796 fixture.CompareScriptExecution(scriptExecution, null);797 798 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserThenSystemWideConfig);799 fixture.CompareScriptExecution(scriptExecution, null);800 801 ScriptBlockLogging scriptBlockLogging;802 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideOnlyConfig);803 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);804 805 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserOnlyConfig);806 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);807 808 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideThenCurrentUserConfig);809 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);810 811 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserThenSystemWideConfig);812 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);813 814 ModuleLogging moduleLogging;815 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideOnlyConfig);816 fixture.CompareModuleLogging(moduleLogging, null);817 818 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserOnlyConfig);819 fixture.CompareModuleLogging(moduleLogging, null);820 821 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideThenCurrentUserConfig);822 fixture.CompareModuleLogging(moduleLogging, null);823 824 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserThenSystemWideConfig);825 fixture.CompareModuleLogging(moduleLogging, null);826 827 ProtectedEventLogging protectedEventLogging;828 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideOnlyConfig);829 fixture.CompareProtectedEventLogging(protectedEventLogging, null);830 831 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserOnlyConfig);832 fixture.CompareProtectedEventLogging(protectedEventLogging, null);833 834 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideThenCurrentUserConfig);835 fixture.CompareProtectedEventLogging(protectedEventLogging, null);836 837 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserThenSystemWideConfig);838 fixture.CompareProtectedEventLogging(protectedEventLogging, null);839 840 // The CurrentUser config doesn't contain any settings for 'Transcription', 'UpdatableHelp' and 'ConsoleSessionConfiguration'841 Transcription transcription;842 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideOnlyConfig);843 fixture.CompareTranscription(transcription, null);844 845 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserOnlyConfig);846 fixture.CompareTranscription(transcription, null);847 848 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideThenCurrentUserConfig);849 fixture.CompareTranscription(transcription, null);850 851 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserThenSystemWideConfig);852 fixture.CompareTranscription(transcription, null);853 854 UpdatableHelp updatableHelp;855 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideOnlyConfig);856 fixture.CompareUpdatableHelp(updatableHelp, null);857 858 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserOnlyConfig);859 fixture.CompareUpdatableHelp(updatableHelp, null);860 861 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideThenCurrentUserConfig);862 fixture.CompareUpdatableHelp(updatableHelp, null);863 864 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserThenSystemWideConfig);865 fixture.CompareUpdatableHelp(updatableHelp, null);866 867 ConsoleSessionConfiguration consoleSessionConfiguration;868 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideOnlyConfig);869 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);870 871 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserOnlyConfig);872 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);873 874 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideThenCurrentUserConfig);875 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);876 877 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserThenSystemWideConfig);878 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);879 }880 881 [Fact, Priority(10)]882 public void Utils_GetPolicySetting_BothConfigFilesNotExist()883 {884 fixture.CleanupConfigFiles();885 fixture.ForceReadingFromFile();886 887 // Both config files don't exist888 ScriptExecution scriptExecution;889 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideOnlyConfig);890 fixture.CompareScriptExecution(scriptExecution, null);891 892 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserOnlyConfig);893 fixture.CompareScriptExecution(scriptExecution, null);894 895 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.SystemWideThenCurrentUserConfig);896 fixture.CompareScriptExecution(scriptExecution, null);897 898 scriptExecution = Utils.GetPolicySetting<ScriptExecution>(Utils.CurrentUserThenSystemWideConfig);899 fixture.CompareScriptExecution(scriptExecution, null);900 901 ScriptBlockLogging scriptBlockLogging;902 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideOnlyConfig);903 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);904 905 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserOnlyConfig);906 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);907 908 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.SystemWideThenCurrentUserConfig);909 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);910 911 scriptBlockLogging = Utils.GetPolicySetting<ScriptBlockLogging>(Utils.CurrentUserThenSystemWideConfig);912 fixture.CompareScriptBlockLogging(scriptBlockLogging, null);913 914 ModuleLogging moduleLogging;915 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideOnlyConfig);916 fixture.CompareModuleLogging(moduleLogging, null);917 918 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserOnlyConfig);919 fixture.CompareModuleLogging(moduleLogging, null);920 921 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.SystemWideThenCurrentUserConfig);922 fixture.CompareModuleLogging(moduleLogging, null);923 924 moduleLogging = Utils.GetPolicySetting<ModuleLogging>(Utils.CurrentUserThenSystemWideConfig);925 fixture.CompareModuleLogging(moduleLogging, null);926 927 ProtectedEventLogging protectedEventLogging;928 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideOnlyConfig);929 fixture.CompareProtectedEventLogging(protectedEventLogging, null);930 931 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserOnlyConfig);932 fixture.CompareProtectedEventLogging(protectedEventLogging, null);933 934 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.SystemWideThenCurrentUserConfig);935 fixture.CompareProtectedEventLogging(protectedEventLogging, null);936 937 protectedEventLogging = Utils.GetPolicySetting<ProtectedEventLogging>(Utils.CurrentUserThenSystemWideConfig);938 fixture.CompareProtectedEventLogging(protectedEventLogging, null);939 940 // The CurrentUser config doesn't contain any settings for 'Transcription', 'UpdatableHelp' and 'ConsoleSessionConfiguration'941 Transcription transcription;942 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideOnlyConfig);943 fixture.CompareTranscription(transcription, null);944 945 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserOnlyConfig);946 fixture.CompareTranscription(transcription, null);947 948 transcription = Utils.GetPolicySetting<Transcription>(Utils.SystemWideThenCurrentUserConfig);949 fixture.CompareTranscription(transcription, null);950 951 transcription = Utils.GetPolicySetting<Transcription>(Utils.CurrentUserThenSystemWideConfig);952 fixture.CompareTranscription(transcription, null);953 954 UpdatableHelp updatableHelp;955 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideOnlyConfig);956 fixture.CompareUpdatableHelp(updatableHelp, null);957 958 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserOnlyConfig);959 fixture.CompareUpdatableHelp(updatableHelp, null);960 961 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.SystemWideThenCurrentUserConfig);962 fixture.CompareUpdatableHelp(updatableHelp, null);963 964 updatableHelp = Utils.GetPolicySetting<UpdatableHelp>(Utils.CurrentUserThenSystemWideConfig);965 fixture.CompareUpdatableHelp(updatableHelp, null);966 967 ConsoleSessionConfiguration consoleSessionConfiguration;968 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideOnlyConfig);969 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);970 971 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserOnlyConfig);972 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);973 974 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.SystemWideThenCurrentUserConfig);975 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);976 977 consoleSessionConfiguration = Utils.GetPolicySetting<ConsoleSessionConfiguration>(Utils.CurrentUserThenSystemWideConfig);978 fixture.CompareConsoleSessionConfiguration(consoleSessionConfiguration, null);979 }980 981 [Fact, Priority(11)]982 public void PowerShellConfig_GetPowerShellPolicies_BrokenSystemConfig()983 {984 fixture.SetupConfigFile5();985 fixture.ForceReadingFromFile();986 987 Assert.Throws<System.Management.Automation.PSInvalidOperationException>(() => PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.AllUsers));988 Assert.Throws<System.Management.Automation.PSInvalidOperationException>(() => PowerShellConfig.Instance.GetPowerShellPolicies(ConfigScope.CurrentUser));989 }990 }991}992 