chris combe

chris combe

  • 1.7k
  • 22
  • 2.4k

C# AuthorizationManager check failed.

Mar 10 2024 1:05 PM
using System.Management.Automation;

PowerShell ps = PowerShell.Create();
//ps.AddCommand("Get-Process");  // if uncommented, works.
ps.AddCommand("Enable-NetFirewallRule").AddParameter("DisplayName","firewall_rule_1");
ps.Invoke();

(This is the continuation of the my previous question, since it seems I can't follow up Muhammad's previous answer.

(See previous question "System.Management.Automation : Not Found : 'Enable-NetFirewallRule'" )
c-sharpcorner.com/forums/systemmanagementautomation-not-found-sharp39enablenetfirewallrulesharp39 )

Thank you very much to Muhammad, I appreciate it.

I have followed your recommendations but it seems that the "Import-Module NetSecurity" command doesn't work, even in admin mode.
I guess I should see the "Microsoft.Windows.Firewall.Commands.dll" file in my app directory :
"C:\c#\fw\bin\Debug\net8.0\"    .... but I see nothing...
Also, the file "fw.deps.json" (in that same directory) doesn't give any reference to the NetSecurity module.

I worked hard on this problem and the only improvement/advance I made is to copy the "NetSecurity" module Directory..
From :  c:\Windows\system32\WindowsPowerShell\v1.0\Modules\NetSecurity
To :    C:\Users\myName\Documents\PowerShell\Modules

the result : "'Enable-NetFirewallRule' command was found  BUT  AuthorizationManager check failed..", see below :

> dotnet run

--------------------------------------------------------------
> dotnet run

Unhandled exception. System.Management.Automation.CommandNotFoundException: The 'Enable-NetFirewallRule' command was found in the module 'NetSecurity', but the module could not be loaded due to the following error: [The following error occurred while loading the extended type data file: 
, C:\Users\myName\Documents\PowerShell\Modules\NetSecurity\NetSecurity.types.ps1xml: The file was skipped because of the following validation exception: AuthorizationManager check failed..
]
For more information, run 'Import-Module NetSecurity'.
 ---> System.Management.Automation.CmdletInvocationException: The following error occurred while loading the extended type data file: 
, C:\Users\myName\Documents\PowerShell\Modules\NetSecurity\NetSecurity.types.ps1xml: The file was skipped because of the following validation exception: AuthorizationManager check failed..

 ---> System.Management.Automation.RuntimeException: The following error occurred while loading the extended type data file: 
, C:\Users\myName\Documents\PowerShell\Modules\NetSecurity\NetSecurity.types.ps1xml: The file was skipped because of the following validation exception: AuthorizationManager check failed..

   at System.Management.Automation.Runspaces.InitialSessionState.ThrowTypeOrFormatErrors(String resourceString, String errorMsg, String errorId)
   at System.Management.Automation.Runspaces.InitialSessionState.UpdateTypes(ExecutionContext context, Boolean updateOnly)
   at System.Management.Automation.Runspaces.InitialSessionState.Bind_UpdateTypes(ExecutionContext context, Boolean updateOnly)
   at System.Management.Automation.Runspaces.InitialSessionState.<>c__DisplayClass129_0.<Bind>b__0()
   at System.Management.Automation.Runspaces.InitialSessionState.Bind(ExecutionContext context, Boolean updateOnly, PSModuleInfo module, Boolean noClobber, Boolean local, Boolean setLocation)
   at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleManifest(String moduleManifestPath, ExternalScriptInfo manifestScriptInfo, Hashtable data, Hashtable localizedData, ManifestProcessingFlags manifestProcessingFlags, Version minimumVersion, Version maximumVersion, Version requiredVersion, Nullable`1 requiredModuleGuid, ImportModuleOptions& options, Boolean& containedErrors)
   --- End of inner exception stack trace ---
...

I then tried to launch this powershell 7.4.1 in admin mode :

> c:\users\myName\.dotnet\tools\.store\powershell\7.4.1\powershell\7.4.1\tools\net8.0\any\win\pwsh.exe

then cd to C:\c#\fw\bin\Debug\net8.0\

then launch the ".\fw.exe" (still admin mode) ===> same "AuthorizationManager check failed" error as above.

--------------------------------------------------------------
FYI, in my Visual Code terminal, I entered the following commands :

> $env:PSModulePath

C:\Users\myName\Documents\PowerShell\Modules;
C:\Program Files\PowerShell\Modules;
c:\users\myName\.dotnet\tools\.store\powershell\7.4.1\powershell\7.4.1\tools\net8.0\any\win\Modules;
C:\Program Files\WindowsPowerShell\Modules;
c:\Windows\system32\WindowsPowerShell\v1.0\Modules;

!!! the "NetSecurity" module is ONLY located in the LAST path ("c:\Windows\system32\WindowsPowerShell\v1.0\Modules\NetSecurity" )

For some reason, if I don't copy this "NetSecurity" module directory to "C:\Users\myName\Documents\PowerShell\Modules",
then the 'Enable-NetFirewallRule' command isn't found! (as if the "NetSecurity" module directory wouldn't be in the last $PSModulePath !)
However the "Get-Module -ListAvailable" command sees it ! (see below)

--------------------------------------------------------------
> Get-ExecutionPolicy

Bypass
--------------------------------------------------------------
the Powershell version used by VSCode :
c:\users\myName\.dotnet\tools\.store\powershell\7.4.1\powershell\7.4.1\tools\net8.0\any\win\pwsh.exe

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

--------------------------------------------------------------
the Powershell version used by my Windows 11 (click left on windows logo (taskbar), click right on "Windows PowerShell (Admin)"
c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.22621.2506
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2506
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


--------------------------------------------------------------
> Get-Module -ListAvailable 

    Directory: C:\Users\myName\Documents\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Manifest   2.0.0.0               NetSecurity  (!!! THE COPY I MADE)  Core,Desk {Get-DAPolicyChange, New-NetIPsecAuthProposal, New-NetIPse… 

    Directory: C:\users\myName\.dotnet\tools\.store\powershell\7.4.1\powershell\7.4.1\tools\net8.0\any\win\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Manifest   7.0.0.0               CimCmdlets                          Core      {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance,… 
Manifest   1.2.5                 Microsoft.PowerShell.Archive        Desk      {Compress-Archive, Expand-Archive}
Manifest   7.0.0.0               Microsoft.PowerShell.Diagnostics    Core      {Get-WinEvent, New-WinEvent, Get-Counter}
Manifest   7.0.0.0               Microsoft.PowerShell.Host           Core      {Start-Transcript, Stop-Transcript}
Manifest   7.0.0.0               Microsoft.PowerShell.Management     Core      {Add-Content, Clear-Content, Get-Clipboard, Set-Clipboard…} 
Binary     1.0.1                 Microsoft.PowerShell.PSResourceGet  Core,Desk {Find-PSResource, Get-InstalledPSResource, Get-PSResourceR… 
Manifest   7.0.0.0               Microsoft.PowerShell.Security       Core      {Get-Acl, Set-Acl, Get-PfxCertificate, Get-Credential…}     
Manifest   7.0.0.0               Microsoft.PowerShell.Utility        Core      {Export-Alias, Get-Alias, Import-Alias, New-Alias…}
Manifest   7.0.0.0               Microsoft.WSMan.Management          Core      {Disable-WSManCredSSP, Enable-WSManCredSSP, Get-WSManCredS… 
Script     1.4.8.1               PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-Packa… 
Script     2.2.5                 PowerShellGet                       Desk      {Find-Command, Find-DSCResource, Find-Module, Find-RoleCap… 
Script     7.0.0.0               PSDiagnostics                       Core      {Disable-PSTrace, Disable-PSWSManCombinedTrace, Disable-WS… 
Script     2.3.4                 PSReadLine                          Desk      {Get-PSReadLineKeyHandler, Set-PSReadLineKeyHandler, Remov…
Binary     2.0.3                 ThreadJob                           Desk      Start-ThreadJob

    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     1.0.1                 Microsoft.PowerShell.Operation.Val… Desk      {Get-OperationValidation, Invoke-OperationValidation}       
Binary     1.0.0.1               PackageManagement                   Desk      {Find-Package, Get-Package, Get-PackageProvider, Get-Packa… 
Script     3.4.0                 Pester                              Desk      {Describe, Context, It, Should…}
Script     1.0.0.1               PowerShellGet                       Desk      {Install-Module, Find-Module, Save-Module, Update-Module…}  
Script     2.0.0                 PSReadLine                          Desk      {Get-PSReadLineKeyHandler, Set-PSReadLineKeyHandler, Remov… 

    Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Manifest   1.0.0.0               AppBackgroundTask                   Core,Desk {Disable-AppBackgroundTaskDiagnosticLog, Enable-AppBackgro… 
Script     1.0.0.0               AssignedAccess                      Core,Desk {Clear-AssignedAccess, Get-AssignedAccess, Set-AssignedAcc… 
Manifest   1.0.0.0               BitLocker                           Core,Desk {Unlock-BitLocker, Suspend-BitLocker, Resume-BitLocker, Re… 
Script     2.0.0.0               BitsTransfer                        Core,Desk {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Re… 
Manifest   1.0.0.0               BranchCache                         Core,Desk {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disa… 
Manifest   1.0                   ConfigDefenderPerformance           Core,Desk {New-MpPerformanceRecording, Get-MpPerformanceReport}       
Manifest   1.0                   DefenderPerformance                 Core,Desk {New-MpPerformanceRecording, Get-MpPerformanceReport}       
Manifest   1.0.3.0               DeliveryOptimization                Core,Desk {Get-DeliveryOptimizationLog, Get-DeliveryOptimizationLogA… 
Manifest   1.0.0.0               DirectAccessClientComponents        Core,Desk {Disable-DAManualEntryPointSelection, Enable-DAManualEntry… 
Script     3.0                   Dism                                Core,Desk {Add-AppProvisionedSharedPackageContainer, Add-AppxProvisi… 
Manifest   1.0.0.0               DnsClient                           Core,Desk {Resolve-DnsName, Clear-DnsClientCache, Get-DnsClient, Get… 
Manifest   1.0.0.0               EventTracingManagement              Core,Desk {Start-EtwTraceSession, New-EtwTraceSession, Get-EtwTraceS… 
Script     2022.3.14…            Get-NetView                         Core,Desk Get-NetView
Manifest   2.1.0.0               International                       Core,Desk {Copy-UserInternationalSettingsToSystem, Get-WinDefaultInp… 
Manifest   1.0.0.0               Kds                                 Core,Desk {Add-KdsRootKey, Get-KdsRootKey, Test-KdsRootKey, Set-KdsC…
Manifest   1.0                   LanguagePackManagement              Core,Desk {Install-Language, Uninstall-Language, Get-InstalledLangua… 
Script     1.0.0.0               LAPS                                Core,Desk {Find-LapsADExtendedRights, Get-LapsADPassword, Invoke-Lap… 
Manifest   1.0.0.0               Microsoft.PowerShell.LocalAccounts  Core,Desk {Add-LocalGroupMember, Disable-LocalUser, Enable-LocalUser… 
Manifest   1.0.0                 Microsoft.Windows.Bcd.Cmdlets       Core,Desk {Copy-BcdEntry, Disable-BcdElementBootDebug, Disable-BcdEl… 
Manifest   1.0                   MMAgent                             Core,Desk {Disable-MMAgent, Enable-MMAgent, Set-MMAgent, Get-MMAgent… 
Manifest   2.0.0.0               NetAdapter                          Core,Desk {Disable-NetAdapter, Disable-NetAdapterBinding, Disable-Ne… 
Manifest   2.0.0.0               NetConnection                       Core,Desk {Get-NetConnectionProfile, Set-NetConnectionProfile}        
Manifest   1.0.0.0               NetEventPacketCapture               Core,Desk {New-NetEventSession, Remove-NetEventSession, Get-NetEvent… 
Manifest   2.0.0.0               NetLbfo                             Core,Desk {Add-NetLbfoTeamMember, Add-NetLbfoTeamNic, Get-NetLbfoTea…
Manifest   1.0.0.0               NetNat                              Core,Desk {Get-NetNat, Get-NetNatExternalAddress, Get-NetNatStaticMa… 
Manifest   2.0.0.0               NetQos                              Core,Desk {Get-NetQosPolicy, Set-NetQosPolicy, Remove-NetQosPolicy, … 
Manifest   2.0.0.0               NetSecurity                         Core,Desk {Get-DAPolicyChange, New-NetIPsecAuthProposal, New-NetIPse… 
Manifest   1.0.0.0               NetSwitchTeam                       Core,Desk {New-NetSwitchTeam, Remove-NetSwitchTeam, Get-NetSwitchTea… 
Manifest   1.0.0.0               NetTCPIP                            Core,Desk {Get-NetIPAddress, Get-NetIPInterface, Get-NetIPv4Protocol… 
Manifest   1.0.0.0               NetworkConnectivityStatus           Core,Desk {Get-DAConnectionStatus, Get-NCSIPolicyConfiguration, Rese… 
Manifest   1.0.0.0               NetworkSwitchManager                Core,Desk {Disable-NetworkSwitchEthernetPort, Enable-NetworkSwitchEt… 
Manifest   1.0.0.0               NetworkTransition                   Core,Desk {Add-NetIPHttpsCertBinding, Disable-NetDnsTransitionConfig… 
Manifest   1.0.0.0               PcsvDevice                          Core,Desk {Get-PcsvDevice, Start-PcsvDevice, Stop-PcsvDevice, Restar… 
Manifest   1.0.0.0               PKI                                 Core,Desk {Add-CertificateEnrollmentPolicyServer, Export-Certificate… 
Manifest   1.0.0.0               PnpDevice                           Core,Desk {Get-PnpDevice, Get-PnpDeviceProperty, Enable-PnpDevice, D… 
Manifest   1.1                   PrintManagement                     Core,Desk {Add-Printer, Add-PrinterDriver, Add-PrinterPort, Get-Prin… 
Binary     1.0.12                ProcessMitigations                  Core,Desk {Get-ProcessMitigation, Set-ProcessMitigation, ConvertTo-P… 
Script     3.0                   Provisioning                        Core,Desk {Install-ProvisioningPackage, Export-ProvisioningPackage, … 
Manifest   1.0.0.0               ScheduledTasks                      Core,Desk {Get-ScheduledTask, Set-ScheduledTask, Register-ScheduledT… 
Manifest   2.0.0.0               SecureBoot                          Core,Desk {Confirm-SecureBootUEFI, Set-SecureBootUEFI, Get-SecureBoo… 
Manifest   2.0.0.0               SmbShare                            Core,Desk {Get-SmbShare, Remove-SmbShare, Set-SmbShare, Block-SmbSha…
Manifest   2.0.0.0               SmbWitness                          Core,Desk {Get-SmbWitnessClient, Move-SmbWitnessClient, gsmbw, msmbw… 
Manifest   1.0.0.1               StartLayout                         Core,Desk {Export-StartLayout, Import-StartLayout, Export-StartLayou… 
Manifest   2.0.0.0               Storage                             Core,Desk {Add-InitiatorIdToMaskingSet, Add-PartitionAccessPath, Add… 
Manifest   2.0.0.0               TLS                                 Core,Desk {New-TlsSessionTicketKey, Enable-TlsSessionTicketKey, Disa… 
Manifest   1.0.0.0               TroubleshootingPack                 Core,Desk {Get-TroubleshootingPack, Invoke-TroubleshootingPack}       
Manifest   2.0.0.0               TrustedPlatformModule               Core,Desk {Get-Tpm, Initialize-Tpm, Clear-Tpm, Unblock-Tpm…}
Binary     2.1.639.0             UEV                                 Core,Desk
Manifest   2.0.0.0               VpnClient                           Core,Desk {Add-VpnConnection, Set-VpnConnection, Remove-VpnConnectio… 
Manifest   1.0.0.0               Wdac                                Core,Desk {Get-OdbcDriver, Set-OdbcDriver, Get-OdbcDsn, Add-OdbcDsn…} 
Manifest   2.0.0.0               Whea                                Core,Desk {Get-WheaMemoryPolicy, Set-WheaMemoryPolicy}
Manifest   1.0.0.0               WindowsDeveloperLicense             Core,Desk {Get-WindowsDeveloperLicense, Unregister-WindowsDeveloperL… 
Script     1.0                   WindowsErrorReporting               Core,Desk {Enable-WindowsErrorReporting, Disable-WindowsErrorReporti… 
Manifest   1.0.0.0               WindowsSearch                       Core,Desk {Get-WindowsSearchSetting, Set-WindowsSearchSetting}        
Manifest   1.0.0.0               WindowsUpdate                       Core,Desk Get-WindowsUpdateLog

 


Answers (1)