小编Cry*_*t32的帖子

如何在远程 Powershell 会话中使用共享函数?

我有一些用于设置 IIS Web 应用程序、消息队列等的 Powershell 脚本。

他们使用我们创建的一组共享函数库 - 所以每个脚本都以行开头

. .\common.ps1

引用共享库。共享库包含一组函数,例如Create-IisApplicationPoolCreate-MessageQueue等等,然后从实际脚本中调用这些函数。这些脚本的问题在于您需要通过远程桌面登录并在本地运行它们,因此我正在编写一些新脚本来将代码部署到 Amazon EC2 实例,并使用 Powershell 远程处理在本地调用它们。

我无法解决的是如何使这个共享库在远程 Powershell 会话中可用。

这是一个简单的例子:

函数.ps1

function Add-Title([string] $name) {
    "Mr. $name"
}

function Say-HelloWorld([string] $name = "World") {
    $computerName = $env:COMPUTERNAME
    $greeting = Add-Title($name)
    Write-Host "Hello, $greeting ($computerName)"
}
Run Code Online (Sandbox Code Playgroud)

例子.ps1

. ./functions.ps1


$remoteUsername = "username"
$remotePassword = "password"
$remoteHostname = "172.16.0.100"

$securePassword = ConvertTo-SecureString -AsPlainText -Force $remotePassword
$cred = New-Object System.Management.Automation.PSCredential $remoteUsername, $securePassword


Say-HelloWorld("Spolsky")
Run Code Online (Sandbox Code Playgroud)

在本地运行,这很好用 - 并按预期说“你好,斯波尔斯基先生(DYLAN_PC)”。

现在,如果我Say-HelloWorld …

remote-access powershell remoting

3
推荐指数
1
解决办法
7017
查看次数

标签 统计

powershell ×1

remote-access ×1

remoting ×1