【问题标题】:Powershell script using another user account使用另一个用户帐户的 Powershell 脚本
【发布时间】:2014-04-03 21:33:08
【问题描述】:

我对 powershell 不是很好(老实说,我很糟糕!)但我需要做一个脚本来下载图片并将它们存储在特定的共享文件夹中。我可以轻松下载图片,但我需要存储它们的文件夹受到保护,并且只有一个用户(专门创建)可以访问它。

所以我的问题是:如何配置我的脚本以使用此用户凭据?我在网上搜索,但我无法理解。正如我所说,我不是powershell用户,而且我在家里使用OS X,所以我什至不擅长Windows权限。因此,我们将不胜感激!

谢谢!

【问题讨论】:

    标签: powershell credentials


    【解决方案1】:

    使用带有-Credential-ScriptBlock 参数的Invoke-Command 命令以不同的帐户启动PowerShell ScriptBlock。我相信您还需要启用 PSRemoting 才能使 Invoke-Command 命令工作,即使在本地系统上也是如此。

    $Credential = Get-Credential;
    $ScriptBlock = { Copy-Item -Path c:\test\test.txt -Destination c:\test2\test.txt; };
    Invoke-Command -Credential $Credential -ScriptBlock $ScriptBlock;
    

    更复杂的解决方案是使用带有-Credential 参数的Start-Process cmdlet,在备用凭据下启动外部可执行文件。如果你只是想启动 PowerShell 代码,最好使用Invoke-Command

    $Credential = Get-Credential;
    $Executable = 'c:\path\to\file.exe';
    Start-Process -FilePath $Executable -Credential $Credential -Wait -NoNewWindow;
    

    【讨论】:

    • Get-Credential 方法看起来很棒但是(我忘了说,对不起)脚本将被安排,所以如果一切都可以用命令行完成,我会是最好的!但是,我不知道调度是如何工作的。对不起,我不是很好,但这是我的第一个真正的脚本!
    • 如果您打算通过任务调度程序使用此脚本,您可以在设置任务时指定运行方式凭据。
    • 事实上,我不会安排它,我会把脚本交给会安排安排和其他工作的人。所以,基本上,证书不是我的工作吗?就这样?
    • 是的,仅此而已。 :)
    • 好的,太好了!不过谢谢你的回答,很有用。我终于明白了如何使用 Get-Credential :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 2018-11-13
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2022-10-24
    相关资源
    最近更新 更多