Архив метки: пример

Самая короткая программа на C#, которая ничего не делает

Текст минимальной программы на C# test.cs:

class test {
	static void Main(){

	}
}

Программа скомпилировалась через csc в экзешник test.exe размером 3 584 байт

 

программа на C# для вывода в консоль списка локальных пользователей

Относительно простая программа для вывода в коммандной строке списка локальных учётных записей пользователей на компьютере. Программа закончена и готова к компиляции.

using System; 
using System.DirectoryServices; 
using System.Linq; 
 
namespace HelloWorld 
{ 
    class Hello 
    { 
        static void Main() 
        { 
            Console.WriteLine("Список локальных пользователей:"); 
 
            //Black magic using linq 
            var path = string.Format("WinNT://{0},computer", Environment.MachineName); 
 
            using (var computerEntry = new DirectoryEntry(path)) 
            { 
                var userNames = from DirectoryEntry childEntry in computerEntry.Children 
                                where childEntry.SchemaClassName == "User" 
                                select childEntry.Name; 
 
                foreach (var name in userNames) 
                    Console.WriteLine(name); 
            } 
  
            Console.WriteLine("Нажми любую кнопку."); 
            Console.ReadKey(); 
        } 
    } 
}

Как собрать программу, чтобы она заработала:

1. Если в системе не установлен .net framework, то скачиваем его с сайта микрософта и устанавливаем

2. Вставляем текст программы в бллокнот и сохраняем в файл program.cs (.cs — исходник программы на языке C#)

3. Открываем командную строку и компилируем нашу программу с помощью компилятора csc.exe примерно так:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe c:\test\program.cs

4. В результате если не было ошибок, то получим файл program.exe — это и есть наша откомпилированная программа на C#.

Теперь можно потихоньку разбираться с исходниками и пытаться поправить программу под себя. Смысл статьи — просто показать, на сколько оказывается легко программировать в винде.

Как подготовить отчёт ocsinventory в ubuntu

srvtestadmin@SRV-test:~$ sudo apt-get install ocsinventory-agent
[sudo] password for srvtestadmin:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  intltool-debian libproc-daemon-perl po-debconf
Предлагаемые пакеты:
  smartmontools read-edid libmail-box-perl
Рекомендуемые пакеты:
  dmidecode hdparm libmail-sendmail-perl
НОВЫЕ пакеты, которые будут установлены:
  intltool-debian libproc-daemon-perl ocsinventory-agent po-debconf
обновлено 0, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 38 пакетов не обновлено.
Необходимо скачать 0 B/413 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 2 076 kB.
Хотите продолжить [Д/н]? y
Предварительная настройка пакетов ...
Selecting previously unselected package intltool-debian.
(Чтение базы данных ... на данный момент установлено 120432 файла и каталога.)
Распаковывается пакет intltool-debian (из файла .../intltool-debian_0.35.0+20060710.1_all.deb)...
Selecting previously unselected package libproc-daemon-perl.
Распаковывается пакет libproc-daemon-perl (из файла .../libproc-daemon-perl_0.14-1_all.deb)...
Selecting previously unselected package po-debconf.
Распаковывается пакет po-debconf (из файла .../po-debconf_1.0.16+nmu2ubuntu1_all.deb)...
Selecting previously unselected package ocsinventory-agent.
Распаковывается пакет ocsinventory-agent (из файла .../ocsinventory-agent_2%3a2.0-1_all.deb)...
Настраивается пакет intltool-debian (0.35.0+20060710.1) ...
Настраивается пакет libproc-daemon-perl (0.14-1) ...
Настраивается пакет po-debconf (1.0.16+nmu2ubuntu1) ...
Настраивается пакет ocsinventory-agent (2:2.0-1) ...

Creating config file /etc/ocsinventory/ocsinventory-agent.cfg with new version
srvtestadmin@SRV-test:~$ ocsinventory-agent --local ~/srv-test_2013-08-08.ocs
Config: Failed to open /etc/ocsinventory/ocsinventory-agent.cfg
[info] You should run this program as super-user.
[error] Failed to create /var/lib/ocsinventory-agent/http:__ocsinventory-ng_ocsinventory directory: Permission denied
[info] [download] Agent is running in local mode...disabling module
Can't open `/home/srvtestadmin/srv-test_2013-08-08.ocs/SRV-test-2013-08-08-16-14-40.ocs': No such file or directory at /usr/share/perl5/Ocsinventory/Agent/XML/Inventory.pm line 160.
srvtestadmin@SRV-test:~$ sudo ocsinventory-agent --local ~/srv-test_2013-08-08.ocs
[info] Accountinfo file doesn't exist. I create an empty one.
[info] [download] Agent is running in local mode...disabling module
Can't open `/home/srvtestadmin/srv-test_2013-08-08.ocs/SRV-test-2013-08-08-16-14-54.ocs': No such file or directory at /usr/share/perl5/Ocsinventory/Agent/XML/Inventory.pm line 160.
srvtestadmin@SRV-test:~$ sudo ocsinventory-agent --local ~/
[info] [download] Agent is running in local mode...disabling module
[info] Inventory saved in /home/srvtestadmin/SRV-test-2013-08-08-16-14-54.ocs
srvtestadmin@SRV-test:~$

Как в windows создать пользователя из командной строки и из .bat файла

Пользователь создаётся коммандой

net user vasya 54321 /add

54321 — пароль нового пользователя. Не забываем, что для создания пользователей должно быть достаточно прав. Пользователь станет членом локальной группы «Пользователи». Если нам нужен не пользователь, а администратор, то выполняем ещё 2 команды:

net localgroup администраторы vasya /add
net localgroup пользователи vasya /delete

Ну и для механизации добавления администраторов получается примерно вот такой .bat файл:

net user %1% %2% /add
net localgroup администраторы %1% /add
net localgroup пользователи %1% /delete

Помним, что .bat файл нужно сохранять в кодировке cp866, так как названия групп на русском (например Notepad++ умеет). Теперь создать пользователя можно выполнив следующую команду:

> newadmin.bat vasya 54321

Управление объектами в Blender из консоли Python

Будем управлять кубиком на 3D-виде через переменную Cube

>>> cube = bpy.data.objects["Cube"]

Показать или спрятать имя объекта на виде

>>> cube.show_name = 1
>>> cube.show_name = 0

Показать или спрятать сам кубик

>>> cube.hide = 1
>>> cube.hide = 0

Показать на виде имя объекта

>>> cube.show_name = 1

Изменить абсолютное положение объекта в пространстве по оси X

>>> cube.location.x = 1
>>> cube.location.x = 2
>>> cube.location.x = 0

Ещё кое-что
#добавить кубик
bpy.ops.mesh.primitive_cube_add(radius=1, view_align=False, enter_editmode=False, location=(0, 0, 0), rotation=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

#добавить текстовый обьект
bpy.ops.object.text_add(view_align=False, enter_editmode=False, location=(1.53493, -4.79475, 1.36985), rotation=(0, 0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))

#обьявление переменной — ссылки на текущий активный обьект
o = bpy.context.scene.objects.active