Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据包名在powershell中调用巧克力包_Powershell_Chocolatey - Fatal编程技术网

根据包名在powershell中调用巧克力包

根据包名在powershell中调用巧克力包,powershell,chocolatey,Powershell,Chocolatey,我最近安装了一台新机器并安装/启用了巧克力。据我记忆所及,我能够根据包名通过powershell调用包。例如,如果我想安装mongodb,我通常会键入choco install mongodb,并且只需在powershell控制台中键入mongo即可调用mongo客户端。是否有办法查看某个对象是否绑定到特定的垫片?或者是否有启用它的选项?我认为没有办法将包与垫片匹配,但您可以检查垫片指向的可执行文件,以及有关它的一般信息,以及如果运行垫片会发生什么情况: shimname.exe --shimg

我最近安装了一台新机器并安装/启用了巧克力。据我记忆所及,我能够根据包名通过powershell调用包。例如,如果我想安装mongodb,我通常会键入choco install mongodb,并且只需在powershell控制台中键入mongo即可调用mongo客户端。是否有办法查看某个对象是否绑定到特定的垫片?或者是否有启用它的选项?

我认为没有办法将包与垫片匹配,但您可以检查垫片指向的可执行文件,以及有关它的一般信息,以及如果运行垫片会发生什么情况:

shimname.exe --shimgen-noop
我尝试编写一个命令来检查$env:ChocolateyInstall\bin目录中的所有垫片,但不能保证其中的可执行文件会有垫片。我也尝试过过滤已知的Chocolate可执行文件,但有些软件包(如putty)会将其真正的可执行文件直接放在bin文件夹中,并且不会像您预期的那样响应垫片参数

查看cmdlet,它看起来不像Chocolate提供了一种跟踪垫片的方法,因为它本身甚至不这样做。我认为它使用相同的逻辑在软件包卸载时跟踪自动生成的填隙片,但是任何使用Install BinFile显式创建的填隙片也需要在相关的chocolateyUninstall.ps1脚本中调用uninstall BinFile,否则在软件包卸载时将不会删除填隙片

除了爬网$env:ChocolateyInstall\lib\packageName目录以查找潜在的自动垫片名称,或者爬网ChocolateyInstall.ps1/chocolateyunstall.ps1脚本以查找显式垫片之外,您将无法将垫片与包相匹配