【问题标题】:Changing ownership tag with powershell使用 powershell 更改所有权标签
【发布时间】:2020-07-06 00:22:20
【问题描述】:
$f =  gwmi -class HPBIOS_BIOSString -Namespace "root\hp\instrumentedbios" | ? {$_.Name -like "*Ownership Tag*"} 
$text = $pcname.text +" Text i want to put after computer name"
$f.getpropertyvalue('ownership tag', "$text")

当我尝试运行上面的代码时,它只会返回错误。 $pcname.text 是一个文本框,我在其中放置本地计算机的名称。 错误: 找不到“GetPropertyValue”的重载和参数计数:“2”。

是否有人知道如何使用 powershell 正确更改所有权标签或修复上述代码以使其正常工作。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您需要使用提升的权限运行它:

    $Text = 'My custom tag'
    $BIOSInterface = Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface
    $BIOSInterface.SetBIOSSetting('Ownership Tag', $Text)
    

    如果你的 BIOS 上有密码,那就是:

    $BIOSInterface.SetBIOSSetting('Ownership Tag', $Text, '<utf-16/>Password')
    

    (其中Password 表示您的纯文本密码)

    【讨论】:

    • 标签本身是“我的电脑”的一部分。例如,如果我想将以下内容作为标签: $text = $pcname.text +" 我想在计算机名称之后放置的文本" 我可以将 $text 与 ' ' 放在一起吗?
    • 当我运行代码时,标签不适用,我得到 Return: 6. 你知道这意味着什么吗?如果可以,你能帮帮我。
    • 是的,你可以把$Text放在value参数中(我在答案里改了)
    • 返回码6 表示拒绝访问,确保以管理员身份运行脚本并在参数中添加密码(如果在 BIOS 上设置了密码。对于测试中,我建议您暂时从 BIOS 中删除密码)。
    • 我在没有密码的情况下在 BIOS 上进行了测试。效果很好,但是当我确实有密码时,它一直返回代码 6。我在代码中输入了正确的密码,并以管理员身份运行了脚本。
    猜你喜欢
    • 1970-01-01
    • 2018-03-10
    • 2018-12-03
    • 2017-11-19
    • 1970-01-01
    • 2016-02-10
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多