diff --git a/src/Modules/Windows/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1 b/src/Modules/Windows/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1
index b88bc92d2a2..6d47b2ce2cd 100644
--- a/src/Modules/Windows/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1
+++ b/src/Modules/Windows/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1
@@ -10,5 +10,6 @@ FunctionsToExport = @()
CmdletsToExport="Get-Acl", "Set-Acl", "Get-PfxCertificate", "Get-Credential", "Get-ExecutionPolicy", "Set-ExecutionPolicy", "Get-AuthenticodeSignature", "Set-AuthenticodeSignature", "ConvertFrom-SecureString", "ConvertTo-SecureString", "Get-CmsMessage", "Unprotect-CmsMessage", "Protect-CmsMessage" , "New-FileCatalog" , "Test-FileCatalog"
AliasesToExport = @()
NestedModules="Microsoft.PowerShell.Security.dll"
+TypesToProcess="Security.types.ps1xml"
HelpInfoURI = 'https://aka.ms/powershell73-help'
}
diff --git a/src/Modules/Windows/Microsoft.PowerShell.Security/Security.types.ps1xml b/src/Modules/Windows/Microsoft.PowerShell.Security/Security.types.ps1xml
new file mode 100644
index 00000000000..b1171c98e6a
--- /dev/null
+++ b/src/Modules/Windows/Microsoft.PowerShell.Security/Security.types.ps1xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+ System.Security.AccessControl.ObjectSecurity
+
+
+ Path
+
+ Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase
+ GetPath
+
+
+
+ Owner
+
+ Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase
+ GetOwner
+
+
+
+ Group
+
+ Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase
+ GetGroup
+
+
+
+ Access
+
+ Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase
+ GetAccess
+
+
+
+ Sddl
+
+ Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase
+ GetSddl
+
+
+
+ AccessToString
+
+ $toString = "";
+ $first = $true;
+ if ( ! $this.Access ) { return "" }
+ foreach($ace in $this.Access)
+ {
+ if($first)
+ {
+ $first = $false;
+ }
+ else
+ {
+ $tostring += "`n";
+ }
+ $toString += $ace.IdentityReference.ToString();
+ $toString += " ";
+ $toString += $ace.AccessControlType.ToString();
+ $toString += " ";
+ if($ace -is [System.Security.AccessControl.FileSystemAccessRule])
+ {
+ $toString += $ace.FileSystemRights.ToString();
+ }
+ elseif($ace -is [System.Security.AccessControl.RegistryAccessRule])
+ {
+ $toString += $ace.RegistryRights.ToString();
+ }
+ }
+ return $toString;
+
+
+
+ AuditToString
+
+ $toString = "";
+ $first = $true;
+ if ( ! (& { Set-StrictMode -Version 1; $this.audit }) ) { return "" }
+ foreach($ace in (& { Set-StrictMode -Version 1; $this.audit }))
+ {
+ if($first)
+ {
+ $first = $false;
+ }
+ else
+ {
+ $tostring += "`n";
+ }
+ $toString += $ace.IdentityReference.ToString();
+ $toString += " ";
+ $toString += $ace.AuditFlags.ToString();
+ $toString += " ";
+ if($ace -is [System.Security.AccessControl.FileSystemAuditRule])
+ {
+ $toString += $ace.FileSystemRights.ToString();
+ }
+ elseif($ace -is [System.Security.AccessControl.RegistryAuditRule])
+ {
+ $toString += $ace.RegistryRights.ToString();
+ }
+ }
+ return $toString;
+
+
+
+
+
+
diff --git a/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs b/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs
index bb267267b31..5ecd5914904 100644
--- a/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs
+++ b/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs
@@ -4081,152 +4081,6 @@ private void Process_Types_Ps1Xml(string filePath, ConcurrentBag errors)
#endregion System.Management.ManagementObject
- #region System.Security.AccessControl.ObjectSecurity
-
- typeName = @"System.Security.AccessControl.ObjectSecurity";
- typeMembers = _extendedMembers.GetOrAdd(typeName, static key => new PSMemberInfoInternalCollection(capacity: 7));
- Type securityDescriptorCommandsBaseType = TypeResolver.ResolveType("Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase", exception: out _);
-
- // Process regular members.
- newMembers.Add(@"Path");
- AddMember(
- errors,
- typeName,
- new PSCodeProperty(
- @"Path",
- GetMethodInfo(securityDescriptorCommandsBaseType, @"GetPath"),
- setterCodeReference: null),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"Owner");
- AddMember(
- errors,
- typeName,
- new PSCodeProperty(
- @"Owner",
- GetMethodInfo(securityDescriptorCommandsBaseType, @"GetOwner"),
- setterCodeReference: null),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"Group");
- AddMember(
- errors,
- typeName,
- new PSCodeProperty(
- @"Group",
- GetMethodInfo(securityDescriptorCommandsBaseType, @"GetGroup"),
- setterCodeReference: null),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"Access");
- AddMember(
- errors,
- typeName,
- new PSCodeProperty(
- @"Access",
- GetMethodInfo(securityDescriptorCommandsBaseType, @"GetAccess"),
- setterCodeReference: null),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"Sddl");
- AddMember(
- errors,
- typeName,
- new PSCodeProperty(
- @"Sddl",
- GetMethodInfo(securityDescriptorCommandsBaseType, @"GetSddl"),
- setterCodeReference: null),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"AccessToString");
- AddMember(
- errors,
- typeName,
- new PSScriptProperty(
- @"AccessToString",
- GetScriptBlock(@"$toString = """";
- $first = $true;
- if ( ! $this.Access ) { return """" }
-
- foreach($ace in $this.Access)
- {
- if($first)
- {
- $first = $false;
- }
- else
- {
- $tostring += ""`n"";
- }
-
- $toString += $ace.IdentityReference.ToString();
- $toString += "" "";
- $toString += $ace.AccessControlType.ToString();
- $toString += "" "";
- if($ace -is [System.Security.AccessControl.FileSystemAccessRule])
- {
- $toString += $ace.FileSystemRights.ToString();
- }
- elseif($ace -is [System.Security.AccessControl.RegistryAccessRule])
- {
- $toString += $ace.RegistryRights.ToString();
- }
- }
-
- return $toString;"),
- setterScript: null,
- shouldCloneOnAccess: true),
- typeMembers,
- isOverride: false);
-
- newMembers.Add(@"AuditToString");
- AddMember(
- errors,
- typeName,
- new PSScriptProperty(
- @"AuditToString",
- GetScriptBlock(@"$toString = """";
- $first = $true;
- if ( ! (& { Set-StrictMode -Version 1; $this.audit }) ) { return """" }
-
- foreach($ace in (& { Set-StrictMode -Version 1; $this.audit }))
- {
- if($first)
- {
- $first = $false;
- }
- else
- {
- $tostring += ""`n"";
- }
-
- $toString += $ace.IdentityReference.ToString();
- $toString += "" "";
- $toString += $ace.AuditFlags.ToString();
- $toString += "" "";
- if($ace -is [System.Security.AccessControl.FileSystemAuditRule])
- {
- $toString += $ace.FileSystemRights.ToString();
- }
- elseif($ace -is [System.Security.AccessControl.RegistryAuditRule])
- {
- $toString += $ace.RegistryRights.ToString();
- }
- }
-
- return $toString;"),
- setterScript: null,
- shouldCloneOnAccess: true),
- typeMembers,
- isOverride: false);
-
- #endregion System.Security.AccessControl.ObjectSecurity
-
#region Microsoft.PowerShell.Commands.HistoryInfo
typeName = @"Microsoft.PowerShell.Commands.HistoryInfo";
diff --git a/test/powershell/Host/Startup.Tests.ps1 b/test/powershell/Host/Startup.Tests.ps1
index d0d8662cc93..1e49d9a6a36 100644
--- a/test/powershell/Host/Startup.Tests.ps1
+++ b/test/powershell/Host/Startup.Tests.ps1
@@ -15,7 +15,6 @@ Describe "Validate start of console host" -Tag CI {
'pwsh.dll'
'System.Collections.Concurrent.dll'
'System.Collections.dll'
- 'System.Collections.NonGeneric.dll'
'System.Collections.Specialized.dll'
'System.ComponentModel.dll'
'System.ComponentModel.Primitives.dll'
diff --git a/test/powershell/engine/ETS/TypeTable.Tests.ps1 b/test/powershell/engine/ETS/TypeTable.Tests.ps1
index 55b909145a8..f523f9c1234 100644
--- a/test/powershell/engine/ETS/TypeTable.Tests.ps1
+++ b/test/powershell/engine/ETS/TypeTable.Tests.ps1
@@ -19,9 +19,9 @@ Describe "Built-in type information tests" -Tag "CI" {
It "Should have correct number of built-in type items in type table" {
$expected = if ($IsWindows) {
- 273
- } else {
272
+ } else {
+ 271
}
$types.Count | Should -BeExactly $expected
}