Единственная проблема с вашим кодом - это ваш формат даты, dd-MMM
, поскольку LotPings наблюдает:
Создает 0
числа с добавлением влеводля однозначных дней, таких как 6
, тогда как даты в CSV не имеют такого дополнения.
Таким образом, изменение Get-Date -format dd-MMM
на Get-Date -format d-MMM
(просто d
вместо dd
) должноисправить вашу проблему.
Однако, учитывая, что вы все равно читаете весь файл в память, вы можете оптимизировать команду для (PSv4 +):
$today = Get-Date -Format d-MMM
(Import-Csv c:\office\keys.csv).Where({ $_.Guest -eq $today }).Key
Также обратите внимание, что целью -match
является выполнение сопоставления на основе регулярных выражений , а не (без учета регистра) равенство строк ;используйте -eq
для последнего.