小编Bar*_*ekB的帖子

将"本机"对象传递给后台作业

以下是我想以某种方式实现的目标.

我有一个定义一些对象的自定义程序集.在我的脚本中,我创建了一个自定义对象,我想将其传递给脚本块,保持该对象的行为.

Add-Type -AssemblyName MyCustomDLL

$global:object = new-object MyCustomDLL.MyCustomObject()
$object | gm

$jobWork = { param ($object) $object | gm } # I'd like to keep my object behavior in that block

$job = Start-Job -ScriptBlock $jobWork -ArgumentList $object
Wait-Job $job
Receive-Job $job
Run Code Online (Sandbox Code Playgroud)

我该怎么做或达到同样的效果?谢谢你的帮助

powershell scope psobject

8
推荐指数
1
解决办法
4006
查看次数

PowerShell和ActiveDirectory模块 - 查找不是特定组成员的用户

在上周,我第一次遇到了PowerShell和ActiveDirectory.我希望能够找到不是管理员或域管理员的用户列表.

到目前为止,我知道如何使用以下命令/语句获取所有ActiveDirectory用户的所有属性:

Get-ADUser -Filter * -Properties *
Run Code Online (Sandbox Code Playgroud)

我想要做的是打印出当前ActiveDirectory用户的用户名 - 不是管理员或域管理员.

这是我想要做的一些伪代码/ Powershell代码:

$users = Get-ADUser -Filter * -Properties *
foreach($u in $users){
    if ($u isn't an administrator OR $u isn't a domain administrator){ 
        Write-Host "User Name:" $u.Name
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行Get-ADUser -Filter * -Properties *命令时,我看到MemberOf每个用户的属性 - 我想这可能是一个线索.我也AdminCount从谷歌发现的各种来源中听说过(有什么叫做DomainAdminCount?).

我被特别要求不要为ActiveDirectory使用PowerShell扩展 - 尽管各种消息来源说这个扩展会使它更容易.

我花了大约2个小时来测试各种语句组合,但我的新手PowerShell状态并没有给我太多帮助.我将不胜感激任何反馈,以及任何反馈背后的一些明确解释.

powershell active-directory

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

在powershell中导入csv内存不足异常

我正在尝试导入存储在位置的 csv 文件。所有文件的大小都不同,其中包含 1 KB 到 15 KB 或更多。因此,当我尝试使用以下脚本导入该文件时,出现内存不足异常。

$DataImport=Import-Csv -Path (Get-ChildItem $CsvFilePath)

$DataTable=Out-DataTable -InputObject $DataImport

Write-DataTable -ServerInstance $server -Database $Database -TableName $Table -Username 

$Username -Password $Password -Data $DataTable
Run Code Online (Sandbox Code Playgroud)

为了避免 OOM 异常,csv 文件的最大行数是多少?有没有其他更好的方法来处理这种情况。我看到帖子使用 fgetcsv 命令逐行读取。但时间长了吧??

请给我你的建议。提前致谢

powershell

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

标签 统计

powershell ×3

active-directory ×1

psobject ×1

scope ×1