Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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 - Fatal编程技术网

PowerShell-选择要安装的辅助驱动器

PowerShell-选择要安装的辅助驱动器,powershell,Powershell,我有下面的安装脚本,如果测试路径为true,它将分配驱动器号。我们所有的应用程序都安装在辅助磁盘上,与操作系统(C:)不同 如果该路径是新主机,并且我不希望默认驱动器为C:,则该路径可能不存在。如果路径不存在,我将如何将辅助磁盘(即D:)分配给$DeviceDrive变量?注意,可能有2个以上的驱动器,并且辅助磁盘可能不是D:即可能是F:甚至G:。它还需要在powershell v2.0上运行,因为有2003台主机 我需要一些类似的东西 IF ($Devicedrive -eq "C:"){ #

我有下面的安装脚本,如果测试路径为true,它将分配驱动器号。我们所有的应用程序都安装在辅助磁盘上,与操作系统(C:)不同

如果该路径是新主机,并且我不希望默认驱动器为
C:
,则该路径可能不存在。如果路径不存在,我将如何将辅助磁盘(即D:)分配给
$DeviceDrive
变量?注意,可能有2个以上的驱动器,并且辅助磁盘可能不是D:即可能是F:甚至G:。它还需要在powershell v2.0上运行,因为有2003台主机

我需要一些类似的东西

IF ($Devicedrive -eq "C:"){
# Select secondary disk and assign to $Devicedrive}

有什么想法吗?

下面的代码将以您指定的方式获得驱动器的根目录,
D:\
。我在PowerShell 5和2上验证了它的有效性。我假设您可以将其集成到脚本的其余部分中

$roots =  @(Get-PSDrive -PSProvider FileSystem | where-object { $_.free -gt 1GB} | Sort-Object -Property Root | Select-Object -First 2 -ExpandProperty root)    if($roots.count -eq 2 -and $roots[0] -eq 'C:\')
{
    $root=$roots[1]
}
else
{
    $root=$roots[0]
}
谢谢, 特拉维斯


2016年6月4日更新,以处理评论

这将继续将A:分配给$root。我需要它在磁盘上是辅助的。是否可以排除不显示已用/空闲GB的根?我相信这对我来说可以工作,
$roots=@(获取PSDrive-PSProvider FileSystem |其中Object{$$\免费-gt 300MB}排序Object-Property Root |选择Object-First 2-ExpandProperty Root)如果($roots.count-eq 2-和$roots[0]-eq'C:\){$root=$roots[1]}否则{$root=$roots[0]}
@DineshK我更新了示例以解决A:问题。
$roots =  @(Get-PSDrive -PSProvider FileSystem | where-object { $_.free -gt 1GB} | Sort-Object -Property Root | Select-Object -First 2 -ExpandProperty root)    if($roots.count -eq 2 -and $roots[0] -eq 'C:\')
{
    $root=$roots[1]
}
else
{
    $root=$roots[0]
}