小编Sea*_*ean的帖子

如何使用Invoke-Command传递命名参数?

我有一个脚本,我可以通过Invoke-Command远程运行

Invoke-Command -ComputerName (Get-Content C:\Scripts\Servers.txt) `
               -FilePath C:\Scripts\ArchiveEventLogs\ver5\ArchiveEventLogs.ps1
Run Code Online (Sandbox Code Playgroud)

只要我使用默认参数,它就可以正常工作.但是,该脚本有2个名为[switch]的参数(-Debug和-Clear)

如何通过Invoke-Command传递切换参数?我已经尝试了-ArgumentList但是我遇到了错误所以我必须要有语法错误或者其他什么.任何帮助是极大的赞赏.

powershell invoke-command

71
推荐指数
3
解决办法
14万
查看次数

如何通过Powershell Remoting运行7za.exe?

我已经尝试了很多不同的方法来做到这一点,它们都会导致同样的错误.这是一组命令:

$s = New-PSsession -ComputerName ServerA
$job = Invoke-Command -Session $s -Scriptblock { Start-Process -FilePath    
    "C:\Scripts\ArchiveEventLogs\ver4.5\7za.exe" -ArgumentList "a", 
    "C:\Scripts\Eventlogs.bak\ServerA-20101111.7z", "C:\Scripts\Eventlogs.bak\*.evt*", 
     "-mx7", "-oC:\Scripts\Eventlogs.bak", "-wC:\Scripts\Eventlogs.bak", "-t7z" -Wait }  
     -AsJob

Get-Job | Wait-Job
Receive-Job Job$
Run Code Online (Sandbox Code Playgroud)

我得到的输出是这样的:

7-Zip (A) 9.17 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-10-04
Scanning

Creating archive C:\Scripts\Eventlogs.bak\ServerA-20101111.7z

ERROR: Can't allocate required memory!
Run Code Online (Sandbox Code Playgroud)

我怎么能通过那个错误?

我应该指出,如果我直接在没有远程处理的ServerA上运行Scriptblock,它就可以工作.谢谢你的帮助!

powershell 7zip invoke-command powershell-remoting

12
推荐指数
2
解决办法
4206
查看次数

如何导出 - Active Directory对象的CSV?

我正在尝试转储所有用户记录及其关联组以进行用户ID重新验证工作.我的安全人员想要它以CSV格式.

这非常有效:

Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled,Organization | Sort-Object -Property Name | ConvertTo-CSV
Run Code Online (Sandbox Code Playgroud)

但是,这不包括用户所属的组.

尝试这样的事情失败了:

Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled,Organization, @{$_.MemberOf |Get-Group|ForEach-Object {$_.Name}} | Sort-Object -Property Name | ConvertTo-CSV
Run Code Online (Sandbox Code Playgroud)

这也失败了:

Get-ADUser -Filter * -Properties * | Sort-Object -Property Name | ForEach-Object {
    $_ | Format-List -Property Name,SamAccountName,Description,EmailAddress,LastLogonDate,Manager,Title,Department,whenCreated,Enabled
    $_.MemberOf | Get-ADGroup | ForEach-Object {$_.Name} | Sort-Object
}  | ConvertTo-CSV
Run Code Online (Sandbox Code Playgroud)

我可能错过了一些简单的东西.任何帮助将不胜感激.谢谢!

powershell active-directory

5
推荐指数
3
解决办法
16万
查看次数