我正在努力让那些来自"变量"开车或" env"开车,我的位置设置为" Alias"驾驶。正如HeyIamScriptingGuy教程中提到的那样:http://dlbmodigital.microsoft.com/webcasts/wmv/23978_Dnl_L.wmv。寻求视频到18:35,你会发现他可以这样做,但对我来说,它总是显示以下错误:
PS Alias:\> Get-ChildItem env
Get-ChildItem : Cannot find path 'env' because it does not exist.
At line:1 char:1
+ Get-ChildItem env
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (env:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
所以最后我检查这些驱动器是否真的存在,哪些驱动器不可能存在。
PS Alias:\> Get-PSProvider
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions {HKLM, HKCU}
Alias ShouldProcess {Alias}
Environment ShouldProcess {Env}
FileSystem Filter, ShouldProcess, Credentials {C, D, E}
Function ShouldProcess {Function}
Variable ShouldProcess {Variable}
WSMan Credentials {WSMan}
Certificate ShouldProcess {Cert}
你可以看到,我确实有这些驱动器可用。即使我将位置设置为Alias Drive时无法获取任何驱动器的ChildItem。
我错过了什么吗?
答案 0 :(得分:4)
我错过了什么吗?
是。结肠。
没有它PowerShell假设您指的是当前提供程序的工作目录中的对象。假设文件系统提供者:如果您要创建一个名为“env”的文件夹并在其中弹出一个文本文件,那么该文件将由您上面的代码返回。
支持此功能要查看提供者驱动器的内容,请使用Get-Item或Get-ChildItem 的cmdlet。键入驱动器名称,后跟冒号(:)。例如,到 查看Alias:drive的内容,输入:
在您的特定情况下,您位于别名提供程序中,“env”不是别名(至少不是默认值)。 Get-ChildItem ls
会回复一些东西。
因此,在任何驱动器上添加冒号应该允许您这样引用它。
答案 1 :(得分:0)
保持观看
gc:找不到路径'环境:\ XXCOMPUTERNAMEXX'因为它没有 存在。
无论我在那里放什么名字,每次都会产生错误。
我将其删除,脚本运行正常。
Windows Server 2012r2