报错
Import-Module : 无法加载文件 C:\Program Files\WindowsPowerShell\Modules\NtObjectManager\1.1.32\NtObjectManager.psm1,因
为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Polic
ies。
所在位置 行:1 字符: 1
Import-Module NtObjectManager
CategoryInfo : SecurityError: (😃 [Import-Module],PSSecurityException
FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand
解决办法:
Set-ExecutionPolicy Unrestricted
后续
脚本代码成功执行:
PS C:\Users\lyn\Desktop> Import-Module NtObjectManager
PS C:\Users\lyn\Desktop> function Test-ProtectedProcess {
>> [CmdletBinding()]
>> param(
>> [Parameter(Mandatory, ValueFromPipelineByPropertyName)]
>> [string]$FullName,
>> [NtApiDotNet.PsProtectedType]$ProtectedType = 0,
>> [NtApiDotNet.PsProtectedSigner]$ProtectedSigner = 0
>> )
>> BEGIN {
>> $config = New-NtProcessConfig abc -ProcessFlags ProtectedProcess `
>> -ThreadFlags Suspended -TerminateOnDispose `
>> -ProtectedType $ProtectedType `
>> -ProtectedSigner $ProtectedSigner
>> }
>>
>> PROCESS {
>> $path = Get-NtFilePath $FullName
>> Write-Host $path
>> try {
>> Use-NtObject($p = New-NtProcess $path -Config $config) {
>> $prot = $p.Process.Protection
>> $props = @{
>> Path=$path;
>> Type=$prot.Type;
>> Signer=$prot.Signer;
>> Level=$prot.Level.ToString("X");
>> }
>> $obj = New-Object TypeName PSObject Prop $props
>> Write-Output $obj
>> }
>> } catch {
>> }
>> }
>> }
该函数 获取可执行文件的路径,用指定的保护级别启动该可执行文件并检查他是否成功。