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