Score:0

กรองผลลัพธ์สำหรับวันที่ แต่ได้รับข้อผิดพลาด system.type

ธง jp

ฉันกำลังพยายามกรองใบรับรองในเครื่องของฉันและลบทั้งหมดที่สร้างก่อนวันที่ 10/4/2021

PS C:\Users\juraj> $cert = Get-ChildItem Cert:\localMachine\My | Where-Object { $_.NotBefore -is [DateTime]::Today }
ไม่สามารถแปลงค่า "14/10/2021 00:00:00 AM" เป็นประเภท "System.Type" ข้อผิดพลาด: "การส่งไม่ถูกต้องจาก 'System.DateTime' ถึง
'System.Type'"
ที่บรรทัด:1 อักขระ:62
+ ... ocalMachine\My | Where-Object { $_.NotBefore -is [DateTime]::Today }
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException

ดังนั้นขณะนี้ฉันกำลังทดสอบฟังก์ชัน แต่ถึงแม้จะแปลง (Get-Date) แล้ว ToString ก็จบลงด้วยข้อผิดพลาดสีแดงที่คล้ายกัน

ฉันจะไปเกี่ยวกับเรื่องนี้ได้อย่างไร

PS 5.1 ใน W11

br flag
มีอะไรในเส้นทาง `Cert:\LocalMachine\My` หรือไม่ ระบบของฉันไม่แสดงอะไรเลย
JurajB avatar
jp flag
ใช่ เรามีรายการอยู่ที่นั่น .. สำหรับการทดสอบ คุณสามารถใช้เส้นทางใบรับรองหลัก Cert:\LocalMachine\CA
br flag
ตกลง ... นั่นทำให้ฉันมีวัตถุ ตอนนี้ ... **_ทำไมคุณถึงทดสอบเพื่อดูว่าวัตถุทั้งสองเป็นประเภทเดียวกันหรือไม่ _** และทำไมคุณถึงทดสอบผลลัพธ์ของวิธีการแบบคงที่แทนที่จะเป็นประเภทเดียว การใช้ `[datetime]` แทน `[datetime]::today()` ใช้งานได้โดยไม่มีข้อผิดพลาด ... [*grin*]
JurajB avatar
jp flag
ดูเหมือนจะไม่ทำงานสำหรับฉันแม้ว่า PS C:\Users\juraj> Get-ChildItem Cert:\localMachine\My | Where-Object { $_.NotBefore -is [DateTime]::Today() } การเรียกใช้เมธอดล้มเหลวเนื่องจาก [System.DateTime] ไม่มีเมธอดชื่อ 'วันนี้'
br flag
ลบเมธอดแบบสแตติกโง่ๆ ออกจากส่วน `[datetime]` ของคุณ _just ใช้ type ... ตัวดำเนินการ `-is` ตรวจสอบ TYPE ไม่ใช่วิธีคงที่ [*ยิ้ม*]
JurajB avatar
jp flag
คุณสามารถใส่คำสั่งแบบเต็มโดยไม่ต้องใช้ตัวดำเนินการ '-is' ก็ยังใช้งานไม่ได้สำหรับฉัน ไม่แน่ใจว่าฉันพลาดอะไรไป
Score:0
ธง jp

ฉันได้ผลแล้ว - ฉันแปลงสตริงเป็น [วันที่เวลา] แล้วใช้เป็นตัวกรอง

$string='13/10/2564'
$string=[วันที่เวลา]::ParseExact($string, 'dd/MM/yyyy', $null)
Get-ChildItem -Recurse Cert:\localMachine\My | โดยที่ { $_.NotBefore -lt $string } | ลบรายการ
br flag
ยอดเยี่ยม! [*ยิ้ม*] ที่ไม่ใช่แค่ _works_ ... มันทำให้เจตนาของคุณชัดเจน รหัสอื่นใช้ `-is` ในลักษณะที่ทำให้เจตนาไม่ชัดเจนสำหรับฉัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา