Я недавно использую PowerShell, и я пытаюсь выбрать некоторые поля из Active Directory, которые похожи на некоторые строки, позвольте мне объяснить:
На данный момент это мой код:
$csv = Import-Csv C:\Users\barreola\Desktop\test_AD.csv
$IS = @(
'*601*',
'*609*',
'*602*',
'*608*',
'*610*',
'*611*',
'*1212*',
'*603*',
'*604*'
)
$csv.Username | ForEach-Object {
Get-ADUser $_ -Properties Department | Select-Object SamAccountName,Department
}
До сих пор это возвращает ожидаемые данные, как показано ниже
SamAccountName Department
-------------- ----------
user1 First floor department (0601)
user2 Second floor department (0609)
user3 Second floor department (0609)
user4 Second floor department (0609)
user5 Third floor department (0604)
user6 Fourth floor department (0707)
user7 Fifth floor department (0500)
user8 Sixth floor department (1306)
user9 First floor department (0601)
Но я хочу, чтобы PowerShell показывал мне только те, которые содержатся в $IS
, что-то вроде
Get-ADUser $_ -Properties Department | Select-Object SamAccountName,Department Where-Object {Department -like $IS}
И ожидаемый результат будет
SamAccountName Department
-------------- ----------
user1 First floor department (0601)
user2 Second floor department (0609)
user3 Second floor department (0609)
user4 Second floor department (0609)
user5 Third floor department (0604)
user9 First floor department (0601)
ПРИМЕЧАНИЕ: .csv
файл содержит 700 000+ строк.