我有一个连接到LANnetworking的外部磁盘。 我想从脚本中find磁盘上目录的磁盘使用情况。 我看了电源shell和SysInternals工具,但找不到任何解决scheme。 有任何想法吗? 谢谢。
我有一个问题,我已经自动创buildExcel.Application COM对象,将一些数据添加到工作簿,然后将文档保存为xlsx。 这工作正常,如果: 我已经在Powershell交互式主机中,按顺序运行每个命令,或者作为ps1执行。 我使用以下语法从cmd.exe运行它: powershell.exe -command“c:\ path \ to \ powershellscript.ps1” 我在Windows 7 / Server 2008 R2中创build一个计划任务,使用上面的powershell.exe命令语法,并使用“仅在用户login时运行”模式。 当我修改相同的计划任务时失败 ,但将其设置为“ 运行用户是否login ”。 下面是一个示例脚本,说明我遇到的问题: $Excel = New-Object -Com Excel.Application $Excelworkbook = $Excel.Workbooks.Add() $excelworkbook.saveas("C:\temp\test.xlsx") $excelworkbook.close() 我有一个理论,COM对象以某种方式失败,如果我的configuration文件没有加载/如果它没有在命令窗口中执行。 创build计划任务时可以select哪些选项的创意,或创buildExcel对象时使用哪些选项或使用SaveAs()函数? 任何人都可以重现吗? 我已经能够在Server 2008 R2机器和Windows 7上看到这种行为。还没有尝试过其他平台。
将文件从一台服务器转移到另一台服务器的可能的好方法是什么? 在这种情况下,它将从Windows Server 2003到Windows Server 2008 R2。 我认为Powershell cmdlet或batch file可能是一个帮助,但不能确定。
我写了一个PowerShell脚本来压缩文件夹的内容并将其发送到服务器进行备份。 问题是复制过程不会等待压缩过程完成。 我已经尝试使用Out-Null和Wait-Process ,并没有什么似乎工作。 Out-Null只是不做任何事情, Wait-Process告诉我没有这样的过程存在。 我似乎无法弄清楚Windows Compression的进程名称。 任何帮助将不胜感激。 下面是我想暂停的代码的一部分,直到它完成。 function out-zip { Param([string]$path) if (-not $path.EndsWith('.zip')) {$path += '.zip'} if (-not (test-path $path)) { set-content $path ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18)) } $ZipFile = (new-object -com shell.application).NameSpace($path) $input | foreach {$zipfile.CopyHere($_.fullname)} } gi "C:\File-Backups\Share1" | out-zip C:\File-Backups\transfer\PC1-Backup
我需要列出所有在AD中没有任何条目的用户(例如:smith,jon) 到目前为止,我有下面的东西 Get-ADUser -filter {Name -eq " "} | FT SamAccountName 我知道这是因为空的报价失败。 基本上我需要一段代码“列出所有有空白名字的用户” 如果还有另外一种方法可以通过PowerShell来实现,或者如果我尝试使用空白引号稍微偏离轨道,请告诉我。 任何帮助表示赞赏。
我有一堆计算机需要启用远程计划任务pipe理(RPC),远程计划任务pipe理(RPC-EPMAP)和Windows Management Instrumentation(WMI-in)以进行GPO更新。 我想运行一个PowerShell脚本,所以我不必手动执行此操作。 不过,我是新来的PowerShell。 有没有一种方法,我可以得到PowerShell命令,当我在机器上手动添加规则? 编辑: 这是我发现的一个方法: netsh advfirewall firewall set rule group="Remote Administration" new enable=yes netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes netsh advfirewall firewall set rule group="Remote Service Management" new enable=yes netsh advfirewall firewall set rule group="Performance Logs and Alerts" new enable=yes Netsh advfirewall firewall set rule group="Remote […]
我需要能够导出用户名或电子邮件地址(无所谓哪个),公司(从交换pipe理控制台的用户帐户中的组织选项卡下的公司字段)和许可证types(例如在线交换e1,在线交stream亭等…) 我能够将两个语句中的两个值导出到两个单独的文件中,但是这对我没有太大帮助。 我可以导出用户名和许可证types如下: Get-MSOLUser | % { $user=$_; $_.Licenses | Select {$user.displayname},AccountSKuid } | Export-CSV "sample.csv" -NoTypeInformation 而且,我可以通过以下方式获得公司的价值观: Get-User | select company | Export-CSV sample.csv 有人在另一个论坛上提出这个 – $index = @{} Get-User | foreach-object {$index.Add($_.userprincipalname,$_.company)} Get-MsolUser | ForEach-Object { write-host $_.userprincipalname, $index[$_.userprincipalname], $_.licenses.AccountSku.Skupartnumber} 这似乎应该工作,但它不显示任何许可证信息在我的PowerShell,它只是空白。 此外,我不知道如何将其导出到CSV文件。 任何帮助,将不胜感激。 谢谢。
我是AD和Powershell的新手,所以请原谅我,如果我使用了错误的术语。 我有一系列50多个Active Directory组,称为“ABC-something”。 每个活动用户都需要属于一个组。 用户也是用于不同目的的其他组的成员,不应该影响此练习。 由于我们处在一个大动作的中间,我的人口是一个移动的目标。 我正在处理大约1000个用户,所以通过所有用户的所有成员的出口是不可取的。 我希望能够编写一个脚本,将返回每个用户的userid(或samAccountName),这是作为多个组ABC *的成员,我可以按需运行。 (我假设写一个脚本来find活跃的AD用户不在一个组中是完全不同的问题。) 戴上我的数据库帽子,我看到如下的逻辑: 1)遍历所有组名为ABC *。 为每个,捕捉所有组成员。 记忆中的桌子或物体看起来就像 Group1 PersonA 组1 PersonB Group2 PersonB 2)find一个方法来分组,或计数,或迭代通过这个列表。 这是我卡住的地方,因为我目前看到的Powershell示例在导出或显示数据之前不会操纵数据。 你能否提供一个示例脚本让我开始,或者至less指向在Powershell中操纵数据的在线资源?
我正在寻找一种方式来运行一个脚本1当用户login2 AND和当他们登出3他们的4台 Windows 5机器。 笔记: 完美的世界脚本将意味着PowerShell脚本,但任何脚本或应用程序将是可以接受的。 login也意味着在机器启动,但用户login将是理想的。 注销也意味着机器关机,但用户注销将是理想的。 这台机器不在域上。 Windows版本是Windows Vista。
我有一个程序根据文本文件select要连接的计算机。 该列表只需要计算机名称,每行1个。 没有其他的。 我需要一个命令或脚本,我可以运行,产生这一点。 我想每周自动运行一次这个脚本,用新的计算机更新列表。 服务器正在运行Windows Server 2008 R2。 我已经安装了Quest AD Module,使用它我没有find太多的帮助。 任何帮助,将不胜感激! 谢谢 :)