【问题标题】:PowerShell 2 - How To View User Accounts That Have Been Inactive For 90 DaysPowerShell 2 - 如何查看已闲置 90 天的用户帐户
【发布时间】:2023-04-04 12:09:01
【问题描述】:

我仅限于 PowerShell 版本 2。

我正在尝试列出超过 90 天未登录的用户帐户。

我一直在尝试为此制作命令但失败了,到目前为止我已经成功制作了以下内容:

Get-WmiObject Win32_UserAccount -Filter "LocalAccount=True" | Where-Object { (New-Timespan -Start $_.LastLogon -End (Get-Date)).Days -ge 90 }

你能帮帮我吗? :)

【问题讨论】:

  • 本地账户,还是域账户?你真的在使用 PowerShell v2 吗?
  • 本地帐户,是的,我仅限于 PS v2,在旧系统上工作。
  • 拜托,不要告诉我你会在一台电脑上运行这个脚本......
  • @SantiagoSquarzon 不,我需要在一个系统上运行它:)
  • 使用不受支持的系统,因为一些吝啬的$reason 不升级是傻瓜的差事。无论如何,寻找一个 VBScript 解决方案。这些应该为您提供 WMI 和 ADSI 选项的指针,它们可以轻松转换为 Powershell。

标签: windows powershell powershell-2.0


【解决方案1】:

对于 PowerShell 版本 2,您可以使用 Adsi,如下所示:

function Get-LocalUsers {
    Param([string]$ComputerName=$env:COMPUTERNAME)

    [ADSI]$computer="WinNT://$ComputerName"

    $computer.PsBase.Children | Where-Object {$_.SchemaClassName -match "user"} |
    Select-Object @{Name="ComputerName"; Expression={$computer.Name}},
                  @{Name="User"; Expression={$_.PsBase.Properties.Name.Value}},
                  @{Name="Description"; Expression={$_.PsBase.Properties.Description.Value}},
                  @{Name="Disabled"; Expression={[bool]($_.PsBase.Properties.Item("userflags").Value -band 2)}},
                  @{Name="LastLogin"; Expression={ if ($_.PsBase.Properties.LastLogin.Value) {
                                                        [datetime]$_.PsBase.Properties.LastLogin.Value
                                                   } else { "Never" }}}
}

# set the date to compare against to midnight using '.Date'
$refDate = (Get-Date).AddDays(-90).Date
Get-LocalUsers | Where-Object { $_.LastLogin -eq 'Never' -or $_.LastLogin -lt $refDate }

【讨论】:

  • 您好 Theo,谢谢您,非常感谢您的回复!我已经使用提供的代码运行了一些测试,它似乎没有输出任何数据,即使我将 -90 更改为 -1 以进行测试也是如此。你知道可能出了什么问题吗?
  • @Help 如果你注释掉最后的Where-Object,你会得到什么?
  • @Help 查看@{Name="LastLogin" 上的编辑。干杯 ;)
  • 非常感谢@Theo,else 语句最后缺少另一个 },除此之外,似乎运行良好!
  • @Help Ah... 复制\粘贴错误。我现在添加了缺少的}
猜你喜欢
  • 2021-06-28
  • 1970-01-01
  • 2017-03-04
  • 2015-06-08
  • 1970-01-01
  • 2021-08-12
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多