我通过读取哈希表来部署带有Powershell的NetworkDrives,如下所示:
$ITDrives = @{
"l:" = "\\server\share";
"m:" = "\\server\share";
"o:" = "\\server\share";
"p:" = "\\server\share";
"v:" = "\\server\share";
}
[...]
$map.MapNetworkDrive($_.Name, $_.Value, $true)
[...] =之间有一些代码。
现在,我想对DMZ中的NetworkDrives做同样的事情。不幸的是,在那里我需要4个值。 “字母,路径,用户名和密码”
我不能由此创建一个哈希表。我还有什么其他选择?
应该是这样的
$DMZDrives = @(
"u:" "\\SERVER1\SHARE" "domain\administrator" "$PW";
"r:" "\\SERVER2\SHARE" "domain\administrator" "$PW";
"w:" "\\SERVER3\SHARE" "domain\administrator" "$PW";
)
最佳答案
我建议您使用PsCustomObject
:
$DMZDrives = @(
[PSCustomObject]@{Letter='u:'; Path='\\SERVER1\SHARE'; Username='domain\administrator'; Password='yourPassword'}
[PSCustomObject]@{Letter='r:'; Path='\\SERVER2\SHARE'; Username='domain\administrator'; Password='yourPassword'}
[PSCustomObject]@{Letter='w:'; Path='\\SERVER3\SHARE'; Username='domain\administrator'; Password='yourPassword'}
)
$DMZDrives
的输出:Letter Path Username Password
------ ---- -------- --------
u: \\SERVER1\SHARE domain\administrator yourPassword
r: \\SERVER2\SHARE domain\administrator yourPassword
w: \\SERVER3\SHARE domain\administrator yourPassword
现在,您有了所需对象的列表,并且可以使用众所周知的过滤器,例如:
$DMZDrives | where Letter -eq 'u:'
或在它们上循环并映射网络驱动器:
$DMZDrives | % {
$map.MapNetworkDrive($_.Letter, $_.Path, $true, $_.Username, $_.Password)
}
关于powershell - 在一行中创建具有4个值的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33627270/