【问题标题】:Assemblies in powershell scriptpowershell 脚本中的程序集
【发布时间】:2020-07-14 02:18:35
【问题描述】:

我有一个小型 PowerShell 脚本,可以在各种 Windows 平台(2016、2012 和可能 2008)上创建用户。下面提到的脚本在 Windows 2016 上运行良好,但它似乎在 2012 上不起作用,我猜它在 2008 上也不起作用。它可能与 PowerShell 版本有关,但我不确定是否有办法正确修复它。 脚本如下:

$username = "user"
$password = "pass1234"

Clear-Host
$ErrorActionPreference = 'Stop'
$VerbosePreference = 'Continue'

#User to search for
$USERNAME = "user"

#Declare LocalUser Object
$ObjLocalUser = $null

Try {
    Write-Verbose "Searching for $($USERNAME) in LocalUser DataBase"
    $ObjLocalUser = Get-LocalUser $USERNAME
    Write-Verbose "User $($USERNAME) was found"
}

Catch [Microsoft.PowerShell.Commands.UserNotFoundException] {
    "User $($USERNAME) was not found" | Write-Warning
}

Catch {
    "An unspecifed error occured" | Write-Error
    Exit # Stop Powershell! 
}

#Create the user if it was not found (Example)
If (!$ObjLocalUser) {
    New-LocalUser $username -Password $password -Description "test"
    Write-Verbose "$username account created"
    Add-LocalGroupMember -Group "Administrators" -Member $username
    Write-Verbose "$username added to the local administrator group"
}
else {
    Write-Host "User already created"
}

错误提示[Microsoft.PowerShell.Commands.UserNotFoundException]有问题,需要加载一些程序集:

找不到类型 [Microsoft.PowerShell.Commands.UserNotFoundException]。

确保已加载包含此类型的程序集。

以前是否有人使用过程序集并知道如何加载这些程序集? 任何帮助将不胜感激。

【问题讨论】:

    标签: windows powershell assemblies


    【解决方案1】:

    似乎与 WMF 版本有关。默认情况下,Windows 2012 附带 4.0,Windows 2016 附带 5.1。将 Windows 2012 上的 WMF 更新到 5.1 可以解决该问题。这可以关闭。

    【讨论】:

    • 你是对的,这是因为 2012 r2 我测试了脚本
    • 您可以accept your own answer 更清楚地表明这个问题已经解决了。
    猜你喜欢
    • 1970-01-01
    • 2020-12-02
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多