Мне нужно перечислить пользователей подключенного диска и его серийного номера в выходном файле.Я буду подключать между 12-24 дисками в массивах одновременно.Я хотел бы иметь возможность поместить назначенные буквы дисков в переменную.И затем иметь весь цикл скриптов для каждого подключенного диска.дамп последовательного порта + связывание его с пользователями этого диска в выходном файле CSV
Как я могу поместить назначенные буквы диска в массив?
$(get-physicaldisk; get-childitem -path (array variable):\Users) | add-content C:\path\to\my\output.csv
почти получает нужный мне результат, когдаЯ пробую это на одном диске.Но мне бы очень хотелось очистить его и отображать только важную информацию (PSChildName
), исключая все стандартные общедоступные учетные записи администратора, чтобы уменьшить дублирование ненужной информации.
Я хотел, чтобы это работало
$(get-physicaldisk | select-object FriendlyName, SerialNumber)-$(get-childitem -path L:\Users| select-object PSChildName)
, но это не
Мне нужно, чтобы он захватывал последовательный порт для каждого диска - и выводил пользователей, связанных с этим диском ...я борюсь с тем, чтобы вывод выглядел так, как я хочу.
Для каждого диска в массиве - вывод ((serial #) + (пользователи на диске)), внося поправки в мой .csv
После долгих пробок и пыхтений я сейчас здесь, спасибо всем за помощь
function Get-UsersOnDrive([string[]]$DriveLetters){
if (!$DriveLetters){
$DriveLetters = Get-WmiObject Win32_Logicaldisk | %{$_.Name -replace ":", ""}
}
foreach($DriveLetter in $DriveLetters)
{
$SerialNumber = get-partition -DriveLetter $DriveLetter -ErrorAction Ignore | get-disk | select -ExpandProperty SerialNumber
$path = $DriveLetter + ":\Users"
$Users = get-childitem -path $path | select-object PSChildName
$Users | %{
$OutPut = new-object PsCustomObject
$OutPut | Add-Member -MemberType NoteProperty -Name SerialNumber -Value $SerialNumber -PassThru |
Add-Member -MemberType NoteProperty -Name Username -Value $_
return $OutPut
}
}
}
Get-UsersOnDrive -DriveLetters @("C") | Export-Csv -Path C:\sample\Test.csv -NoTypeInformation