解析服务路径名

解析服务路径名

(get-ciminstance cim_service).pathname 输出类似以下内容:

C:\WINDOWS\system32\msiexec.exe /V

有谁知道从输出中删除所有参数和选项的解决方案吗?或者输出所有服务可执行文件路径位置的方法?

编辑:我最初的陈述有点误导,我只寻找非 system32 服务。所以我的完整脚本如下所示:

$pathnames=(get-ciminstance cim_service).pathnames foreach ($pathname in $pathnames){if ($null -ne $pathname){if ($pathname -like "*system32*"){}else{get-acl $pathname -ErrorAction SilentlyContinue}}}

答案1

花了一些时间,但我只是一点一点地分析它

foreach ($pathname in $pathnames){
if ($null -ne $pathname){
    if ($pathname -like "*system32*"){
    }else{
        if($pathname -like '"*" *'){
            foreach ($path in $pathname.split('" ')){
                if ($path -like '"C:*'){
                    $path+'"'
                }
            }
        }elseif($pathname -like '"*'){
                $pathname.replace('"',"'")
            }elseif($pathname -like "\??\*"){
                $pathname
            }else{
                foreach ($path in $pathname.split(' ')){
                    if (!($path -like 'C:\*')){
                    }else{$path}
                }
            }
        }
    }
}

相关内容