Я новичок в использовании 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 строк.